AWSSupport-AssociatePhoneNumbersToConnectContactFlows - AWS Systems Manager 自动化运行手册参考

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

AWSSupport-AssociatePhoneNumbersToConnectContactFlows

描述

AWSSupport-AssociatePhoneNumbersToConnectContactFlows可以帮助您将电话号码与 Amazon Connect 实例中的联系流程相关联。通过在输入逗号分隔值 (CSV) 文件中提供电话号码和联系人流的映射,运行手册可在 14.5 分钟内将尽可能多的电话号码与联系人流程关联起来。运行手册会生成一个 CSV 文件,其中包含它无法在时限内关联的所有电话号码和联系流对,以便您可以在下次运行时输入它们。

如何工作?

该运行手册AWSSupport-AssociatePhoneNumbersToConnectContactFlows可帮助您使用存储在亚马逊简单存储服务 (Amazon S3) 存储桶中的映射数据的 CSV 文件将电话号码与 Amazon Connect 实例中的联系人流程关联起来。输入 CSV 文件应与以下格式对齐,PhoneNumber值采用 E.164 格式。

输入 CSV 文件的示例

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

自动化 runbook 还会在DestinationFileBucketDestinationFilePath中指定的目标位置创建以下文件。

  • automation:EXECUTION_ID/ResourceIdList.csv:一个临时文件,其中包含 AssociatePhoneNumberContactFlow API 所需的PhoneNumberIdContactFlowId对。

  • automation:EXECUTION_ID/ErrorResourceList.csv:包含由于错误而无法处理的电话号码和联系流对的文件,例如ResourceNotFoundException格式为PhoneNumber,ContactFlowName,ErrorMessage

  • automation:EXECUTION_ID/NonProcessedResourceList.csv:包含未处理的电话号码和联系流程对的文件。运行手册尝试在 14.5 分钟( AWS Lambda 功能超时 15 分钟-缓冲 30 秒)内处理尽可能多的电话号码和联系人流。如果由于时间限制而无法处理某些电话号码/联系人流,则运行手册会将其包含在 CSV 文件中,用作下一次运行手册执行的输入。

文档类型

自动化

所有者

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:::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 (可选)

      允许 Systems Manager Automation 代表您执行操作的 AWS AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (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 存储桶和账户封禁公开访问设置、存储桶加密配置、存储桶 ACL、存储桶策略状态以及向存储桶上传对象的 IAM 角色的 ARN。如果未指定此参数,则运行手册将使用AutomationAssumeRole(如果已指定)或用户启动此 runbook(如果AutomationAssumeRole未指定)。请参阅运行手册描述中的“所需权限”部分。

  4. 选择执行。

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • CheckConnectInstanceExistance

      检查中提供的 Amazon Connect 实例ConnectInstanceId是否存在。

    • checkS3 BucketPublicStatus

      检查中指定的 Amazon S3 存储桶是否DestinationFileBucket允许匿名或公开读取或写入权限。SourceFileBucket

    • CheckSourceFileExistenceAndSize

      检查中指定的源 CSV 文件SourceFilePath是否存在,以及文件大小是否超过 25 MiB 的限制。

    • GenerateResourceIdMap

      下载在中指定的源 CSV 文件,SourceFilePathPhoneNumberIdContactFlowId并为每个资源标识和。完成后,它会将包含、PhoneNumberPhoneNumberIdContactFlowName、和的 CSV 文件上传ContactFlowId到中DestinationFileBucket指定的目标 Amazon S3 存储桶。如果PhoneNumberId无法识别某个数字,则该字段在 CSV 文件中将为空。

    • AssociatePhoneNumbersToContactFlows

      使用 AWS CloudFormation 堆栈在您的账户中创建 AWS Lambda 函数。该 AWS Lambda 函数将每个号码与SourceFileBucket和中指定的源 CSV 文件中列出的联系人流相关联SourceFilePath, AWS CloudFormation 堆栈会调用该函数。在超时(15 分钟)之前,该 AWS Lambda 功能将尽可能多的电话号码映射到联系人流。由于错误而无法处理的电话号码和联系流程列表已上传[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的位置(如适用)(亚马逊 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