

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `AWSSupport-AssociatePhoneNumbersToConnectContactFlows`
<a name="automation-associate-phone-numbers-to-connect-contact-flows"></a>

 **説明** 

 `AWSSupport-AssociatePhoneNumbersToConnectContactFlows` は、電話番号を Amazon Connect インスタンスの問い合わせフローに関連付けるのに役立ちます。電話番号と問い合わせフローのマッピングを入力カンマ区切り値 (CSV) ファイルに提供することで、ランブックは 14.5 分以内にできるだけ多くの電話番号を問い合わせフローに関連付けます。ランブックは、すべての電話番号と問い合わせフローペアの CSV ファイルを生成し、制限時間内に関連付けることができなかったため、次の実行で入力できます。

 **動作の仕組み** 

 ランブック`AWSSupport-AssociatePhoneNumbersToConnectContactFlows`は、Amazon Simple Storage Service (Amazon S3) バケットに保存されているマッピングデータの CSV ファイルを使用して、電話番号を Amazon Connect インスタンスの問い合わせフローに関連付けるのに役立ちます。Amazon S3 入力 CSV ファイルは、E[.164 ](https://www.itu.int/rec/T-REC-E.164/en)形式の`PhoneNumber`値で、次の形式と一致する必要があります。

**入力 CSV ファイルの例**

```
PhoneNumber,ContactFlowName
+1800555xxxx,ContactFlowA
+1800555yyyy,ContactFlowB
+1800555zzzz,ContactFlowC
```

オートメーションランブックは、 `DestinationFileBucket`および で指定された送信先ロケーションに次のファイルも作成します`DestinationFilePath`。
+ **`automation:EXECUTION_ID/ResourceIdList.csv`**: `AssociatePhoneNumberContactFlow` API に必要な `PhoneNumberId`と の`ContactFlowId`ペアを含む一時ファイル。
+ **`automation:EXECUTION_ID/ErrorResourceList.csv`**: の`ResourceNotFoundException`形式など、エラーのために処理できなかった電話番号と問い合わせフローペアを含むファイル`PhoneNumber,ContactFlowName,ErrorMessage`。
+ **`automation:EXECUTION_ID/NonProcessedResourceList.csv`**: 処理されなかった電話番号と問い合わせフローのペアを含むファイル。ランブックは、14.5 分以内に可能な限り多くの電話番号と問い合わせフローを処理しようとします ( AWS Lambda 関数タイムアウトの 15 分 - バッファの 30 秒）。時間制約のために処理できなかった電話番号/問い合わせフローがある場合、ランブックは次のランブック実行の入力として使用する CSV ファイルにそれらを含めます。

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

```
        {
            "Statement": [
                {
                    "Action": [
                        "s3:GetBucketPublicAccessBlock",
                        "s3:GetBucketPolicyStatus",
                        "s3:GetBucketAcl",
                        "s3:GetObject",
                        "s3:GetObjectAttributes",
                        "s3:PutObject",
                        "s3:PutObjectAcl"
                    ],
                    "Resource": [
                    "arn:aws:s3:::YOUR-BUCKET/*",
                    "arn:aws:s3:::YOUR-BUCKET"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "cloudformation:CreateStack",
                        "cloudformation:DescribeStacks",
                        "cloudformation:DeleteStack",
                        "iam:CreateRole",
                        "iam:DeleteRole",
                        "iam:DeleteRolePolicy",
                        "iam:GetRole",
                        "iam:PutRolePolicy",
                        "lambda:CreateFunction",
                        "lambda:DeleteFunction",
                        "lambda:GetFunction",
                        "lambda:InvokeFunction",
                        "lambda:TagResource",
                        "connect:AssociatePhoneNumberContactFlow",
                        "logs:CreateLogGroup",
                        "logs:TagResource",
                        "logs:PutRetentionPolicy",
                        "logs:DeleteLogGroup",
                        "s3:GetAccountPublicAccessBlock"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "connect:DescribeInstance",
                        "connect:ListPhoneNumbers",
                        "connect:ListContactFlows",
                        "ds:DescribeDirectories"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Condition": {
                        "StringLikeIfExists": {
                            "iam:PassedToService": [
                                "ssm.amazonaws.com",
                                "lambda.amazonaws.com"
                            ]
                        }
                    },
                    "Action": [
                        "iam:PassRole"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
```

`LambdaRoleArn` パラメータを指定する場合、ロールはランブックを正常に使用するために次のアクションを必要とします。

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Action": [
				"logs:CreateLogGroup"
			],
			"Resource": "arn:aws:logs:us-east-1:111122223333:*",
			"Effect": "Allow"
		},
		{
			"Action": [
				"logs:CreateLogStream",
				"logs:PutLogEvents"
			],
			"Resource": "arn:aws:logs:us-east-1:111122223333:*",
			"Effect": "Allow"
		},
		{
			"Action": [
				"connect:AssociatePhoneNumberContactFlow"
			],
			"Resource": "*",
			"Effect": "Allow"
		},
		{
			"Action": [
				"s3:PutObject",
				"s3:GetObject"
			],
			"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/DESTINATION_FILE_PATH*",
			"Effect": "Allow"
		}
	]
}
```

------

 **指示** 

次の手順に従って自動化を設定します。

1. ドキュメントの Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-AssociatePhoneNumbersToConnectContactFlows/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-AssociatePhoneNumbersToConnectContactFlows/description)で に移動します。

1. [Execute automation] (オートメーションを実行) を選択します。

1. 入力パラメータには、次のように入力します。
   + **AutomationAssumeRole (オプション)**

     Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。
   + **ConnectInstanceId (必須)**

     Amazon Connect インスタンスの ID。
   + **SourceFileBucket (必須)**

     電話番号と問い合わせフローペアを含む CSV ファイルを保存する Amazon S3 バケット。
   + **SourceFilePath (必須)**

     電話番号と問い合わせフローペアを含む CSV ファイルの Amazon S3 オブジェクトキー。例えば、`path/to/input.csv`。
   + **DestinationFileBucket (必須)**

     オートメーションが中間ファイルと結果レポートを配置する Amazon S3 バケット。
   + **DestinationFilePath (オプション)**

     `DestinationFileBucket` 中間ファイルと結果レポートを保存する Amazon S3 オブジェクトパス。たとえば、 を指定した場合`path/to/files/`、ファイルは に保存されます`s3://[DestinationFileBucket]/path/to/files/[automation:EXECUTION_ID]/`。
   + **S3BucketOwnerAccount (オプション)**

     問い合わせフローログをアップロードする Amazon S3 バケットを所有する AWS アカウント番号。このパラメータを指定しない場合、ランブックは自動化が実行されるユーザーまたはロールの AWS アカウント ID を使用します。
   + **S3BucketOwnerRoleArn (オプション)**

     Amazon S3 バケットとアカウントブロックパブリックアクセス設定、バケット暗号化設定、バケット ACLs、バケットポリシーステータスを取得し、バケットにオブジェクトをアップロードするアクセス許可を持つ IAM ロールの ARN。このパラメータが指定されていない場合、ランブックは、このランブックを開始する `AutomationAssumeRole` (指定されている場合) または ユーザー ( が指定され`AutomationAssumeRole`ていない場合) を使用します。ランブックの説明の「必要な権限」セクションを参照してください。
   + **LambdaRoleArn (オプション)**

      AWS Lambda 関数が必要な AWS サービスとリソースにアクセスできるようにする IAM ロールの ARN。ロールが指定されていない場合、このオートメーションはアカウントに Lambda の IAM ロールを 1 つ作成します。

1. [実行] を選択します。

1. 自動化が開始されます。

1. ドキュメントは以下のステップを実行します。
   + **CheckConnectInstanceExistance**

     で指定された Amazon Connect インスタンス`ConnectInstanceId`が存在するかどうかを確認します。
   + **CheckS3BucketPublicStatus**

     で指定された Amazon S3 バケットをチェック`SourceFileBucket`し、匿名またはパブリックの読み取りまたは書き込みアクセス許可`DestinationFileBucket`を許可します。
   + **CheckSourceFileExistenceAndSize**

     で指定されたソース CSV ファイル`SourceFilePath`が存在するかどうか、およびファイルサイズが 25 MiB の制限を超えているかどうかを確認します。
   + **GenerateResourceIdMap**

     で指定されたソース CSV ファイルをダウンロード`SourceFilePath`し、リソース`ContactFlowId`ごとに `PhoneNumberId` と を識別します。完了すると、`PhoneNumber`、、、`ContactFlowName`および `PhoneNumberId`を含む CSV ファイルが、 で指定された送信先 Amazon S3 バケットにアップロード`ContactFlowId`されます`DestinationFileBucket`。特定の数値に対して が識別`PhoneNumberId`できない場合、CSV ファイル内の ファイルは空になります。
   + **AssociatePhoneNumbersToContactFlows**

      AWS CloudFormation スタックを使用して アカウントに AWS Lambda 関数を作成します。 AWS Lambda 関数は、各番号を `SourceFileBucket`および で指定されたソース CSV ファイルに記載されている問い合わせフローに関連付け`SourceFilePath`、 AWS CloudFormation スタックは関数を呼び出します。 AWS Lambda 関数は、タイムアウト (15 分) する前に、問い合わせフローにできるだけ多くの電話番号をマッピングします。エラーのために処理できなかった電話番号と問い合わせフローのリストが にアップロードされます`[automation:EXECUTION_ID]/ErrorResourceList.csv`。1 回の実行で処理できる電話番号の最大数を超えたために処理できなかった電話番号は、 にアップロードされます`[automation:EXECUTION_ID]/NonProcessedResourceList.csv`。このステップが失敗した場合、 AWS CloudFormation スタックイベントで失敗した理由を示す`DescribeCloudFormationErrorFromStackEvents`ステップに進みます。
   + **WaitForPhoneNumberContactFlowAssociationCompletion**

     電話番号を問い合わせフローにマッピングする AWS Lambda 関数が作成され、 AWS CloudFormation スタックが呼び出しを完了するまで待ちます。
   + **GenerateReport**

     問い合わせフローにマッピングされた電話番号の数、エラーのために処理できなかった電話番号、および 1 回の実行で処理できる電話番号の最大数を超えたために処理できなかった電話番号を含むレポートを生成します。このレポートには、該当する場合`[automation:EXECUTION_ID]/NonProcessedResourceList.csv`、 `[automation:EXECUTION_ID]/ErrorResourceList.csv`または の場所 (Amazon S3 URI と Amazon S3 コンソール URL) も表示されます。
   + **`DeleteCloudFormationStack`**

     マッピング用の Lambda 関数を含む AWS CloudFormation スタックを削除します。
   + **`DescribeCloudFormationErrorFromStackEvent`**

     `AssociatePhoneNumbersToContactFlows` ステップの AWS CloudFormation スタックからのエラーについて説明します。

1. 完了したら、出力セクションで実行の詳細な結果を確認します。
   + **GenerateReport.OutputPayload**

      電話番号と問い合わせフローの関連付けの出力。このレポートには、次の情報が含まれています。
     + 入力 CSV ファイルに記載されている電話番号と問い合わせフローペアの数
     + 入力 CSV ファイルで指定された問い合わせフローに関連付けられた電話番号の数
     + エラーにより問い合わせフローに関連付けられなかった電話番号の数
     + 時間的制約により問い合わせフローに関連付けられなかった電話番号の数
     + エラーのために関連付けることができなかった電話番号と問い合わせフローペアを含む CSV ファイルの場所 (Amazon S3 URI と Amazon S3 コンソール URL)
     + 時間制約のために関連付けられなかった電話番号と問い合わせフローペアを含む CSV ファイルの場所 (Amazon S3 URI と Amazon S3 コンソール URL)
   + **DescribeCloudFormationErrorFromStackEvents.Events**

     `AssociatePhoneNumbersToContactFlows` ステップが失敗した場合に AWS CloudFormation スタックイベントを表示する出力。

少数の電話番号と問い合わせフローを使用した実行の出力

![\[Report showing 7 phone numbers processed successfully with no errors or time constraints.\]](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/automation-associate-phone-numbers-to-connect-contact-flows_outputs_small.png)


エラーや時間の制約により関連付けられなかった多数の電話番号、問い合わせフロー、電話番号を含む実行の出力

![\[Amazon Connect phone number mapping results showing processed and unprocessed contacts.\]](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/automation-associate-phone-numbers-to-connect-contact-flows_outputs_many.png)


 **リファレンス** 

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-AssociatePhoneNumbersToConnectContactFlows/description)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [「自動化ワークフローをサポート」ランディングページ](https://aws.amazon.com/premiumsupport/technology/saw/)