View a markdown version of this page

AWSSupport-AssociatePhoneNumbersToConnectContactFlows - AWS Systems Manager オートメーションランブックリファレンス

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

AWSSupport-AssociatePhoneNumbersToConnectContactFlows

説明

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

動作の仕組み

ランブックAWSSupport-AssociatePhoneNumbersToConnectContactFlowsは、Amazon Simple Storage Service (Amazon S3) バケットに保存されているマッピングデータの CSV ファイルを使用して、電話番号を Amazon Connect インスタンスの問い合わせフローに関連付けるのに役立ちます。Amazon S3 入力 CSV ファイルは、E.164 形式の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 AWSSupport-AssociatePhoneNumbersToConnectContactFlowsで に移動します。

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

  3. 入力パラメータには、次のように入力します。

    • 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 つ作成します。

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

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

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

    • 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 スタックからのエラーについて説明します。

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

    • 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.

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

Amazon Connect phone number mapping results showing processed and unprocessed contacts.

リファレンス

Systems Manager Automation