AWSSupport-AssociatePhoneNumbersToConnectContactFlows - AWS Systems Manager 自動化手冊參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-AssociatePhoneNumbersToConnectContactFlows

Description

AWSSupport-AssociatePhoneNumbersToConnectContactFlows協助您將電話號碼與 Amazon Connect 執行個體中的聯絡流程建立關聯。藉由在輸入逗號分隔值 (CSV) 檔案中提供電話號碼和連絡人流程的對應,runbook 會在 14.5 分鐘內將盡可能多的電話號碼與聯絡流程相關聯。runbook 會產生 CSV 檔案,其中包含無法在時間限制內關聯的所有電話號碼和聯絡流程配對,以便您可以在下次執行中輸入它們。

它是如何工作的?

Runbook 可AWSSupport-AssociatePhoneNumbersToConnectContactFlows協助您使用存放在 Amazon 簡單儲存服務 (Amazon S3) 儲存貯體中的映射資料的 CSV 檔案,將電話號碼與 Amazon Connect 執行個體中的聯絡流程相關聯。輸入的 CSV 檔案應與下列格式對齊,其PhoneNumber值為 E.164 格式。

輸入 CSV 檔案的範例

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

自動化執行手冊也會在DestinationFileBucketDestinationFilePath中指定的目標位置建立下列檔案。

  • automation:EXECUTION_ID/ResourceIdList.csv:包含 AssociatePhoneNumberContactFlow API 所需的PhoneNumberIdContactFlowId配對的臨時文件。

  • automation:EXECUTION_ID/ErrorResourceList.csv:包含由於錯誤而無法處理的電話號碼和聯絡流程配對ResourceNotFoundException的檔案,例如PhoneNumber,ContactFlowName,ErrorMessage.

  • automation:EXECUTION_ID/NonProcessedResourceList.csv:包含未處理的電話號碼和聯絡流程配對的檔案。Runbook 嘗試在 14.5 分鐘內處理盡可能多的電話號碼和聯繫流程(15 分鐘的 AWS Lambda 功能超時-緩衝 30 秒)。如果有一些電話號碼/連絡人流程無法由於時間限制而處理,runbook 將它們包含在 CSV 檔中,以作為下一個 runbook 執行的輸入。

文件類型

 自動化

擁有者

Amazon

平台

Linux,macOS, Windows

參數

必要的 IAM 許可

AutomationAssumeRole參數需要下列動作才能成功使用 runbook。

{ "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" } ] }

指示

請依照下列步驟設定自動化操作:

  1. 瀏覽至「文件」下AWSSupport-AssociatePhoneNumbersToConnectContactFlows的「Systems Manager」。

  2. 選擇 Execute automation (執行自動化)。

  3. 對於輸入參數,請輸入以下內容:

    • AutomationAssumeRole (選擇性)

      (IAM) 角色的 Amazon 資源名稱 AWS AWS Identity and Access Management (ARN),可讓 Systems Manager 自動化代表您執行動作。如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

    • ConnectInstanceId (必填)

      您的 Amazon Connect 實例的 ID。

    • SourceFileBucket (必填)

      儲存包含電話號碼和聯絡流程配對的 CSV 檔案的 Amazon S3 儲存貯體。

    • SourceFilePath (必填)

      CSV 檔案的 Amazon S3 物件金鑰,其中包含電話號碼和聯絡流程配對。例如 path/to/input.csv

    • DestinationFileBucket (必填)

      自動化將放置中繼檔案和結果報告的 Amazon S3 儲存貯體。

    • DestinationFilePath (選擇性)

      應存放中繼檔案和結果報告的 Amazon S3 物件路徑。DestinationFileBucket例如,如果您指定path/to/files/,檔案會儲存在下面s3://[DestinationFileBucket]/path/to/files/[automation:EXECUTION_ID]/

    • S3 BucketOwnerAccount (選擇性)

      擁有您要上傳聯絡流程日誌之 Amazon S3 儲存貯體的 AWS 帳戶號碼。如果您未指定此參數,執行手冊會使用執行自動化的使用者或角色的 AWS 帳戶 ID。

    • S3 BucketOwnerRoleArn (選擇性)

      IAM 角色的 ARN 具有取得 Amazon S3 儲存貯體和帳戶區塊公開存取設定、儲存貯體加密組態、儲存貯體 ACL、儲存貯體政策狀態,以及將物件上傳到儲存貯體的許可。如果未指定此參數,runbook 會使用 AutomationAssumeRole (如果指定) 或啟動此 runbook 的使用者 (如果AutomationAssumeRole未指定)。請參閱 runbook 描述中所需的權限部分。

  4. 選取執行。

  5. 自動化啟動。

  6. 文件會執行下列步驟:

    • CheckConnectInstanceExistance

      檢查中提供的 Amazon Connect 實例是否ConnectInstanceId存在。

    • 檢查 3 BucketPublicStatus

      檢查 Amazon S3 儲存貯體是否在中指定,SourceFileBucketDestinationFileBucket允許匿名或公用讀取或寫入存取權限。

    • CheckSourceFileExistenceAndSize

      檢查中指定的來源 CSV 檔案是否SourceFilePath存在,以及檔案大小是否超過 25 MiB 的限制。

    • GenerateResourceIdMap

      下載在中指定的來源 CSV 檔案,SourceFilePathContactFlowId為每個資源識別PhoneNumberId和。完成後,它會將包含PhoneNumberPhoneNumberId和的 CSV 檔案上傳ContactFlowId到中指定的目的地 Amazon S3 儲存貯體DestinationFileBucketContactFlowName如果PhoneNumberId無法識別特定數字,CSV 檔案中的欄位將為空。

    • AssociatePhoneNumbersToContactFlows

      使用 AWS CloudFormation 堆棧在您的帳戶中創建一個 AWS Lambda 函數。該 AWS Lambda 函數將每個號碼與中指定的源 CSV 文件中列出的聯繫流程相關聯,SourceFileBucketSourceFilePath並且 AWS CloudFormation 堆棧調用該函數。該 AWS Lambda 功能會在超時(15 分鐘)之前將盡可能多的電話號碼映射到聯繫流程。由於錯誤而無法處理的電話號碼和聯絡流程清單會在中上傳[automation:EXECUTION_ID]/ErrorResourceList.csv。由於單次執行中可以處理的最大電話號碼數量超過了最大數量而無法處理的電話號碼,則會在中上傳[automation:EXECUTION_ID]/NonProcessedResourceList.csv。如果此步驟失敗,它將進入該DescribeCloudFormationErrorFromStackEvents步驟以顯示為什麼它從 AWS CloudFormation 堆棧事件失敗。

    • WaitForPhoneNumberContactFlowAssociationCompletion

      等待,直到創建將電話號碼映射到聯繫人流程的 AWS Lambda 函數並完成 AWS CloudFormation 堆棧的調用。

    • GenerateReport

      產生報告,其中包含對應至聯絡流程的電話號碼數目、由於錯誤而無法處理的電話號碼數目,以及因單次執行中可處理的電話號碼上限而無法處理的報告。此報告也會顯示[automation:EXECUTION_ID]/ErrorResourceList.csv[automation:EXECUTION_ID]/NonProcessedResourceList.csv (如果適用) 的位置 (Amazon S3 URI 和 Amazon S3 主控台 URL)。

    • DeleteCloudFormationStack

      刪除 AWS CloudFormation 堆疊,包括用於對應的 Lambda 函數。

    • DescribeCloudFormationErrorFromStackEvent

      描述AssociatePhoneNumbersToContactFlows步驟 AWS CloudFormation 堆疊中的錯誤。

  7. 完成後,請查看「輸出」部分以獲取執行的詳細結果:

    • GenerateReport.OutputPayload

      輸出電話號碼和聯繫流程關聯。此報告包含下列資訊:

      • 輸入 CSV 文件中列出的電話號碼和聯繫流程對的數量

      • 輸入 CSV 檔案中指定的與聯絡流程相關聯的電話號碼數

      • 由於錯誤而無法與聯絡流程相關聯的電話號碼數目

      • 由於時間限制而與聯絡流程無關聯的電話號碼數目

      • CSV 檔案的位置 (Amazon S3 URI 和 Amazon S3 主控台 URL),其中包含由於錯誤而無法關聯的電話號碼和聯絡流程配對

      • CSV 檔案的位置 (Amazon S3 URI 和 Amazon S3 主控台 URL),其中包含由於時間限制而未關聯的電話號碼和聯絡流程配對

    • DescribeCloudFormationErrorFromStackEvents. 活動。

      如果AssociatePhoneNumbersToContactFlows步驟失敗,顯示 AWS CloudFormation 堆疊事件的輸出。

輸出少量電話號碼和聯繫流程的執行

由於錯誤或時間限制而未關聯的大量電話號碼和聯繫流程以及電話號碼的執行輸出

參考

Systems Manager Automation