步骤 2:为 Amazon Chime 聊天机器人配置出站端点 - Amazon Chime

要完成本指南中的步骤,您必须是 Amazon Chime 系统管理员。如需 Amazon Chime 桌面客户端、网络应用程序或移动应用程序方面的帮助,请参阅《Amazon Chime 用户指南》中的获取支持

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

步骤 2:为 Amazon Chime 聊天机器人配置出站端点

为 Amazon Chime 企业账户创建聊天机器人 ID 后,继续配置出站端点,以便 Amazon Chime 向机器人发送消息。此出站端点可以是 AWS Lambda 函数 ARN,也可以是在先决条件中创建的 HTTPS 端点。有关 Lambda 的更多信息,请参阅 AWS Lambda 开发人员指南

注意

如果机器人的 HTTPS 出站端点未配置或者为空,则聊天室管理员无法将其加入聊天室。同时,聊天室用户也无法与机器人互动。

AWS CLI

如需为聊天机器人配置出站端点,请运行 AWS CLI 中的 put-events-configuration 命令。配置 Lambda 函数 ARN 或 HTTPS 出站端点。

Lambda ARN
aws chime put-events-configuration --account-id 12a3456b-7c89-012d-3456-78901e23fg45 --bot-id botId --lambda-function-arn arn:aws:lambda:us-east-1:111122223333:function:function-name
HTTPS endpoint
aws chime put-events-configuration --account-id 12a3456b-7c89-012d-3456-78901e23fg45 --bot-id botId --outbound-events-https-endpoint https://example.com:8000

Amazon Chime 使用机器人 ID 和 HTTPS 端点进行响应。

{ "EventsConfiguration": { "BotId": "BotId", "OutboundEventsHTTPSEndpoint": "https://example.com:8000" } }

Amazon Chime API

如需为聊天机器人配置出站端点,请在 Amazon Chime API 参考中执行 Amazon Chime PutEventsConfiguration API 操作。配置 Lambda 函数 ARN 或 HTTPS 出站端点。

  • 如需配置 Lambda 函数 ARN:Amazon Chime 调用 Lambda 以添加权限,允许其管理员的 AWS 账户调用提供的 Lambda 函数 ARN。然后实施试运行调用,以验证 Amazon Chime 是否有权调用此函数。如果权限添加失败或者试运行调用失败,则 PutEventsConfiguration 请求将返回 HTTP 4xx 错误。

  • 如需配置 HTTPS 出站端点:Amazon Chime 使用 Challenge JSON 有效负载,向上一步提供的 HTTPS 出站端点发送 HTTP Post 请求以验证端点。您的出站 HTTPS 端点必须使用 JSON 格式来回应质询参数,从而进行响应。下面的示例显示了请求和有效的响应。

    Request
    HTTPS POST JSON Payload: { "Challenge":"00000000000000000000", "EventType" : "HTTPSEndpointVerification" }
    Response
    HTTP/1.1 200 OK Content-type: application/json { "Challenge":"00000000000000000000" }

    如果质询握手失败,则 PutEventsConfiguration 请求将返回 HTTP 4xx 错误。

AWS SDK for Java

以下示例代码演示了如何使用适用于 Java 的 AWS SDK 进行端点配置。

PutEventsConfigurationRequest putEventsConfigurationRequest = new PutEventsConfigurationRequest() .withAccountId("chimeAccountId") .withBotId("botId") .withOutboundEventsHTTPSEndpoint("https://www.example.com") .withLambdaFunctionArn("arn:aws:lambda:region:account-id:function:function-name"); chime.putEventsConfiguration(putEventsConfigurationRequest):