

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

# `AWSSupport-CollectAmazonConnectContactFlowLog`
<a name="automation-collect-amazon-connect-contact-flow-log"></a>

 **Description** 

 `AWSSupport-CollectAmazonConnectContactFlowLog` 自動化 Runbook 用於收集特定聯絡人 ID 的 Amazon Connect 聯絡人流程日誌。透過提供 Amazon Connect 執行個體 ID 和聯絡人 ID， Runbook 會從 Amazon CloudWatch 日誌群組搜尋聯絡人的聯絡流程日誌，並將其上傳至請求參數中指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。Runbook 會產生輸出，提供 Amazon S3 主控台 URL 和 AWS CLI 命令供您下載日誌。

 **如何運作？** 

`AWSSupport-CollectAmazonConnectContactFlowLog` 自動化 Runbook 有助於收集存放在所設定 CloudWatch 日誌群組中特定聯絡人 ID 的 Amazon Connect 聯絡流程日誌，並將其上傳至指定的 Amazon S3 儲存貯體。為了協助保護從 Amazon Connect 聯絡流程中收集之日誌的安全性，自動化會評估 Amazon S3 儲存貯體組態，以判斷儲存貯體是否授予公有`read`或`write`存取許可，且由 `S3BucketOwnerAccountId` 參數中指定的 AWS 帳戶所擁有。如果您的 Amazon S3 儲存貯體使用伺服器端加密搭配 AWS Key Management Service 金鑰 (SSE-KMS)，請確定執行此自動化的使用者或 AWS Identity and Access Management (IAM) 角色具有 AWS KMS 金鑰的`kms:GenerateDataKey`許可。如需 Amazon Connect 執行個體產生之日誌的詳細資訊，請參閱[存放在 Amazon CloudWatch 日誌群組中的流程日誌](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-logs-stored-in-cloudwatch.html)。

**重要**  
CloudWatch Logs Insights 查詢會根據查詢的資料量產生費用。免費方案客戶僅需針對超出 Service Quotas 的使用量支付費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

 [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-CollectAmazonConnectContactFlowLog) 

**文件類型**

 自動化

**擁有者**

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:::amzn-s3-demo-bucket/*",
                    "arn:aws:s3:::amzn-s3-demo-bucket"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "connect:DescribeInstance",
                        "connect:DescribeContact",
                        "ds:DescribeDirectories"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "logs:StartQuery",
                        "logs:GetQueryResults"

                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
```

 **指示** 

請依照下列步驟設定自動化：

1. 在文件下的 Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description)中導覽至 。

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

1. 針對輸入參數，輸入下列內容：
   + **AutomationAssumeRole （選用）：**

     (IAM) 角色的 Amazon Resource Name AWS Identity and Access Management (ARN)，允許 Systems Manager Automation 代表您執行動作。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
   + **ConnectInstanceId （必要）：**

     Amazon Connect 執行個體的 ID。
   + **ContactId （必要）：**

     您要為其收集聯絡流程日誌的聯絡 ID。
   + **S3BucketName （必要）：**

     帳戶中您要上傳聯絡流程日誌的 Amazon S3 儲存貯體名稱。請確定儲存貯體政策不會將不必要的讀取/寫入許可授予不需要存取所收集日誌的各方。
   + **S3ObjectPrefix （選用）：**

     Amazon S3 儲存貯體中已上傳聯絡流程日誌的 Amazon S3 物件路徑。例如，如果您指定 `CollectedLogs`，日誌將上傳為 `s3://your-s3-bucket/CollectedLogs/ContactFlowLog_[ContactId][AWSAccountId].gz`。如果您未指定此參數，則會使用 Systems Manager Automation 執行 ID，例如：`s3://your-s3-bucket/[automation:EXECUTION_ID]/ContactFlowLog[ContactId]_[AWSAccountId].gz`。注意：如果您指定 的值`S3ObjectPrefix`並使用相同的 【ContactId】 執行此自動化，則聯絡人流程日誌將被覆寫。
   + **S3BucketOwnerAccount （選用）：**

     擁有您要上傳聯絡流程日誌之 Amazon S3 儲存貯體的 AWS 帳號。如果您未指定此參數，則 Runbook 會使用自動化執行所在使用者或角色 AWS 的帳戶 ID。
   + **S3BucketOwnerRoleArn （選用）：**

     IAM 角色的 ARN，具有取得 Amazon S3 儲存貯體和帳戶區塊公開存取設定、儲存貯體加密組態、儲存貯體 ACLs、儲存貯體政策狀態，以及將物件上傳至儲存貯體的許可。如果未指定此參數，則 Runbook 會使用 `AutomationAssumeRole`（如果指定） 或啟動此 Runbook 的使用者 （如果`AutomationAssumeRole`未指定）。請參閱 Runbook 說明中的必要許可區段。  
![\[Input parameters form for AWS Systems Manager Automation with fields for roles, IDs, and S3 settings.\]](http://docs.aws.amazon.com/zh_tw/systems-manager-automation-runbooks/latest/userguide/images/automation-collect-amazon-connect-contact-flow-log_input_parameters.png)

1. 選取執行。

1. 自動化會啟動。

1. 文件會執行下列步驟：
   + **CheckConnectInstanceExistance**

     檢查 中提供的 Amazon Connect 執行個體是否為 `ConnectInstanceId` `ACTIVE`。
   + **CheckS3BucketPublicStatus**

     檢查 中指定的 Amazon S3 儲存貯體是否`S3BucketName`允許匿名或公有讀取或寫入存取許可。
   + **GenerateLogSearchTimeRange**

     根據 `InitiationTimestamp` 和 `DescribeContact` API `LastUpdateTimestamp`傳回`StartQuery`的步驟產生 `EndTime` `StartTime`和 。 `StartTime`將是 之前的一小時`InitiationTimestamp`，`EndTime`並將是 之後的一小時`LastUpdateTimestamp`。
   + **StartQuery**

     針對與 `ContactId` 中提供的 Amazon Connect 執行個體相關聯的 CloudWatch Logs 日誌群組中提供的 ，啟動查詢日誌`ConnectInstanceId`。查詢在執行時間 60 分鐘後逾時。如果您的查詢逾時，請減少要搜尋的時間範圍。您可以在 CloudWatch 主控台中檢視目前進行中的查詢，以及您最近的查詢歷史記錄。如需詳細資訊，請參閱[檢視執行中的查詢或查詢歷史記錄](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-History.html)。
   + **WaitForQueryCompletion**

     等待提供的 `ContactId`完成 CloudWatch Logs 查詢日誌。請注意，查詢會在執行時間的 60 分鐘後逾時。如果您的查詢逾時，請減少要搜尋的時間範圍。您可以在 Amazon Connect 主控台中檢視目前進行中的查詢，以及您最近的查詢歷史記錄。如需詳細資訊，請參閱[檢視執行中的查詢或查詢歷史記錄](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-History.html)。
   + **UploadContactFlowLog**

     取得查詢結果，並將聯絡流程日誌上傳至 中指定的 Amazon S3 儲存貯體`S3BucketName`。
   + **GenerateReport**

     傳回上傳聯絡流程日誌的 Amazon S3 主控台 URL，以及可用來下載日誌檔案的範例 AWS CLI 命令。

1. 完成後，請檢閱輸出區段以取得執行的詳細結果：
   + **GenerateReport.OutputPayload**

     輸出，告訴您 Runbook 已成功擷取指定聯絡人的聯絡流程日誌。此報告也包含 Amazon S3 主控台 URL 和範例 AWS CLI 命令，讓您可以下載日誌檔案。  
![\[Output showing successful retrieval of Contact Flow log with S3 Console URL and AWS CLI command.\]](http://docs.aws.amazon.com/zh_tw/systems-manager-automation-runbooks/latest/userguide/images/automation-collect-amazon-connect-contact-flow-log_outputs.png)

 **參考** 

Systems Manager Automation
+ [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/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/)