跳至内容

为什么我的 Amazon Q 开发者版未收到来自 Amazon SNS 的消息?

3 分钟阅读
0

我为聊天应用程序中的 Amazon Q 开发者版(前身为 AWS Chatbot)订阅了我的 Amazon Simple Notification Service (Amazon SNS) 主题。但是,来自我的 Amazon SNS 主题的通知未送达 Amazon Q 开发者版。

简短描述

由于以下原因之一,您的 Amazon SNS 主题的通知未送达 Amazon Q 开发者版:

  • Amazon Q 开发者版和 Slack 频道之间的通信通道配置错误。
  • SNS 主题与 Amazon Q 开发者版之间的通信通道配置错误。

解决方法

为 Amazon Q 开发者版激活 CloudWatch Logs

如果您尚未这样做,请在聊天应用程序中为 Amazon Q 开发者版激活 Amazon CloudWatch Logs 以查看错误消息

验证您是否已正确配置 Amazon Q 开发者版和 Slack 频道之间的通信通道

确保 Slack 频道未被归档或删除

如果 Slack 频道被归档或删除,则该频道无法接收消息,Slack 会停用所有应用程序。

要取消归档频道,请参阅 Slack 网站上的归档或删除频道

**注意:**您无法恢复已删除的 Slack 频道。如果订阅的 Slack 频道被删除,请创建新的 Slack 频道,然后将新频道配置为接收来自您的主题的通知

验证您是否已在 Slack 工作区上安装了聊天应用程序

查看您的聊天应用程序 CloudWatch Logs 中是否有 "account_inactive" 错误消息。如果您发现 "account_inactive" 错误消息,则说明您的聊天应用程序未安装在您的 Slack 工作区上。

要在 Slack 工作区上安装聊天应用程序,请按照教程: 开始使用 Slack 中的说明进行操作。

(仅适用于私人 Slack 频道)验证您是否已将聊天应用程序添加到 Slack 频道

检查您的聊天应用程序 CloudWatch Logs,查看 "channel_not_found" 错误消息。如果您未将聊天应用程序添加到私人频道,则会出现此错误消息。

要将 Amazon Q 开发者版添加到私人 Slack 频道,请在私人频道中运行 /invite @Amazon Q 命令。

(适用于 Slack、Amazon Chime 和 Microsoft Teams)

验证您是否已正确配置 SNS 主题和 Amazon Q 开发者版之间的通信通道。

验证您是否已将 Amazon Q 开发者版订阅您的 Amazon SNS 主题

完成以下步骤:

  1. 打开 Amazon Q 开发者版控制台
  2. 在导航窗格的 Configured clients(已配置客户端)下,选择 SlackAmazon ChimeMicrosoft Teams
  3. Slack workspace configuration(Slack 工作区配置)中选择您的 Slack 频道,在 Amazon Chime Webhook 列表中选择 Webhook,或者选择您的 Microsoft Teams 频道。
  4. 选择 Edit(编辑)。
  5. Details(详细信息)窗格的 Topics(主题)下,查找您的 SNS 主题。如果该主题未列出,请将您的 SNS 主题订阅到 Amazon Q 开发者版

验证您是否已将 Amazon Q 开发者版端点列为 Amazon SNS 主题的主题订阅

完成以下步骤:

  1. 打开 Amazon SNS 控制台
  2. 在导航窗格中,选择 Topics(主题),然后选择您的 SNS 主题的名称。
  3. Subscriptions(订阅)下,查找以下 Amazon Q 开发者版端点:https://global.sns-api.chatbot.amazonaws.com。如果 Amazon Q 开发者版端点未列为主题订阅,则必须将您的 SNS 主题订阅到 Amazon Q 开发者版
    注意:使用您的 Amazon Q 开发者版配置发送测试通知

确保不要手动将您的 SNS 主题中不支持格式的消息发布到 Amazon Q 开发者版

Amazon Q 开发者版支持手动发布到 SNS 主题的消息。但是,消息的格式必须与 Amazon Q 开发者版兼容。任何配置为发送消息的服务都必须仅通过 Amazon Q 开发者版支持的服务向 Amazon Q 开发者版发送 Amazon SNS 通知。

验证 Amazon Q 开发者版是否支持发布到您的 Amazon SNS 主题的 AWS 服务消息

查看您的聊天应用程序 CloudWatch Logs 中是否出现 "Event Received is not supported" 错误消息。如果您看到 "Event Received is not supported" 错误消息,则表示 Amazon Q 开发者版不支持发布到您的主题的 AWS 服务消息。

有关 Amazon Q 开发者版支持的 AWS 服务列表,请参阅在聊天应用程序中使用 Amazon Q 开发者版监控 AWS 服务

确保您的 Amazon SNS 主题为其他 AWS 服务授予发布消息所需的权限

完成以下步骤:

  1. 打开 Amazon SNS 控制台
  2. 在导航窗格中,选择 Topics(主题)。
  3. 选择您已为 Amazon Q 开发者版订阅的 SNS 主题。
  4. 选择 Access policy(访问策略)选项卡。
  5. 查看访问策略的 Statement(语句)部分。确保该策略允许正确的 AWS 服务运行 SNS:Publish API 操作。
  6. 如果您的 Amazon SNS 访问策略不允许正确的 AWS 服务向您的主题发布事件,请更新该策略:
    在主题页面的 Details(详细信息)部分,选择 Edit(编辑)
    展开 Access policy(访问策略)部分,然后添加正确的访问控制

**注意:**有关 Amazon SNS 访问策略的示例,请参阅为通知配置 Amazon SNS 主题

验证您的 Amazon SNS 主题是否未激活原始消息传输

Amazon Q 开发者版不接受原始消息传输。要验证您的 SNS 主题是否未激活原始消息传输,请完成以下步骤:

  1. 打开 Amazon SNS 控制台
  2. 在导航窗格中,选择 Topics(主题),然后选择您的 SNS 主题的名称。
  3. Details(详细信息)窗格中,对于 Raw message delivery(原始消息传输),检查状态为 enabled(已启用)还是 disabled(已禁用)。
  4. 如果状态为 enabled(已启用),请执行以下操作:
    选择 Edit(编辑)。
    清除 Enable raw message delivery(启用原始消息传输)以关闭原始消息传输。
    选择 Save changes(保存更改)。

确保包含所需的 AWS KMS 密钥策略权限

**注意:**此检查仅适用于激活了服务器端加密的 SNS 主题。

您的 AWS Key Management Service (AWS KMS) 密钥策略必须允许发送消息的服务向您的加密 SNS 主题发布消息。

您的 AWS KMS 密钥策略必须包含以下部分:

{  
  "Sid": "Allow CWE to use the key",  
  "Effect": "Allow",  
  "Principal": {  
    "Service": "service.amazonaws.com"  
  },  
  "Action": [  
    "kms:Decrypt",  
    "kms:GenerateDataKey"  
  ],  
  "Resource": "*"  
}

**重要事项:**请将 events.amazonaws.com 替换为发布加密 SNS 主题的服务的 AWS 服务主体

验证 AWS 服务是否不会以高于每秒 10 个通知的速率向您的 Amazon SNS 主题发布消息

Amazon Q 开发者版每秒允许 10 个事件。如果 Amazon Q 开发者版每秒收到超过 10 个事件,则会限制其他消息。

要检查您是否限制了事件,请查看 Amazon Q 开发者版的 CloudWatch Logs 中的 EventsThrottled 指标。

(适用于 Amazon EventBridge)确保 EventBridge 支持 AWS 服务发送到您的 Amazon Q 开发者版客户端目标的事件通知

使用 EventBridge 输入转换器生成自定义通知,然后将通知转发到 SNS 主题。通过 Amazon Q 开发者版监控 SNS 主题并向已配置的 Microsoft Teams、Amazon Chime 或 Slack 频道发送通知。Amazon Q 开发者版自定义通知必须遵循事件架构格式。

有关详细信息,请参阅聊天应用程序中支持的 Amazon Q 开发者版服务

相关信息

对聊天频道中的 Amazon Q 开发者版进行故障排除

如何使用 Webhook 将 Amazon SNS 消息发布到 Amazon Chime、Slack 或 Microsoft Teams?

AWS 官方已更新 10 个月前