

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

 **描述** 

 `AWSSupport-CollectAmazonConnectContactFlowLog`自动化运行手册用于收集特定联系人编号的 Amazon Connect 联系流日志。通过提供您的 Amazon Connect 实例 ID 和联系人 ID，运行手册会从亚马逊 CloudWatch 日志组中搜索联系人流日志，然后将其上传到请求参数中指定的亚马逊简单存储服务 (Amazon S3) 存储桶。运行手册生成的输出提供了 Amazon S3 控制台 URL 和 AWS CLI 命令供您下载日志。

 **如何工作？** 

`AWSSupport-CollectAmazonConnectContactFlowLog`自动化运行手册有助于收集存储在已配置 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) 角色拥有密钥的`kms:GenerateDataKey`权限。 AWS KMS 有关您的 Amazon Connect 实例生成的日志的更多信息，请参阅[存储在亚马逊 CloudWatch 日志组中的流日志](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-logs-stored-in-cloudwatch.html)。

**重要**  
 CloudWatch Logs Insights 查询会根据查询的数据量收取费用。免费套餐客户仅在超出服务限额时才会被收取使用费用。有关更多信息，请参阅 [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` 参数需要执行以下操作才能成功使用运行手册。

```
        {
            "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. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-CollectAmazonConnectContactFlowLog/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 Execute automation（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**

     允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (ARN)。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
   + **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 自动化执行 ID，例如：`s3://your-s3-bucket/[automation:EXECUTION_ID]/ContactFlowLog[ContactId]_[AWSAccountId].gz`。注意：如果您为指定一个值`S3ObjectPrefix`并使用相同的 [ContactId] 运行此自动化，则联络流日志将被覆盖。
   + **S3BucketOwnerAccount （可选）：**

     拥有您要上传联系流日志的 Amazon S3 存储桶的 AWS 账号。如果您未指定此参数，则运行手册将使用运行自动化的用户或角色的 AWS 账户 ID。
   + **S3BucketOwnerRoleArn （可选）：**

     有权获取 Amazon S3 存储桶和账户的 IAM 角色的 ARN 拦截公开访问设置、存储桶加密配置、存储桶 ACLs、存储桶策略状态以及将对象上传到存储桶。如果未指定此参数，则运行手册将使用`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_cn/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`。
   + **checkS3 BucketPublicStatus**

     检查中指定的 Amazon S3 存储桶是否`S3BucketName`允许匿名或公开读取或写入访问权限。
   + **GenerateLogSearchTimeRange**

     基于 `DescribeContact` API `LastUpdateTimestamp` 返回的`InitiationTimestamp`和`EndTime`为`StartQuery`步骤生成`StartTime`和。 `StartTime`将在一个小时之前`InitiationTimestamp`，`EndTime`将是一个小时之后`LastUpdateTimestamp`。
   + **StartQuery**

     启动与`ContactId`中提供的 Amazon Connect 实例关联的 CloudWatch 日志组中提供的查询日志`ConnectInstanceId`。查询在运行 60 分钟后超时。如果您的查询超时，请缩短搜索的时间范围。您可以在 CloudWatch 控制台中查看当前正在进行的查询以及最近的查询历史记录。有关更多信息，请参阅[查看正在运行的查询或查询历史记录](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-History.html)。
   + **WaitForQueryCompletion**

     等待提供的 CloudWatch 日志查询日志`ContactId`完成。请注意，查询将在运行 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**

     输出告诉您运行手册已成功检索到指定联系人的联系流日志。此报告还包含 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_cn/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/)