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

终止支持通知: AWS 将于 2026 年 2 月 20 日终止对 Amazon Chime 服务的支持。2026 年 2 月 20 日之后,您将无法再访问 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

要为聊天机器人配置出站终端节点,请使用《亚马逊 Ch PutEventsConfigurationime API 参考》中的 A mazon Chime API 操作。配置 Lambda 函数 ARN 或 HTTPS 出站端点。

  • 如果您配置 Lambda 函数 ARN,Amazon Chime 会调用 Lambda 来添加权限,以允许 Amazon Chime 管理员的账户 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 适用于 Java 的 SDK

以下示例代码演示了如何使用适用于 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):