為什麼我的 Amazon Q Developer 無法接收到來自 Amazon SNS 的訊息?
我在聊天應用程式中訂閱了 Amazon Q Developer (先前稱為 AWS Chatbot) 到 Amazon Simple Notification Service (Amazon SNS) 主題。但是,來自我的 Amazon SNS 主題的通知並未傳送到 Amazon Q Developer。
簡短描述
您的 Amazon SNS 主題通知未到達 Amazon Q Developer,可能是以下其中一個原因造成的:
- Amazon Q Developer 和 Slack 頻道之間的通訊頻道設定錯誤。
- SNS 主題和 Amazon Q Developer 之間的通訊頻道設定錯誤。
解決方法
啟用 Amazon Q Developer 的 CloudWatch Logs
如果您尚未啟用,請在聊天應用程式中為 Amazon Q Developer 啟用 Amazon CloudWatch Logs,以查看錯誤訊息。
確認您是否正確設定了 Amazon Q Developer 和 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 Developer 新增至私有 Slack 頻道,請在私有頻道中執行 /invite @Amazon Q 命令。
(適用於 Slack、Amazon Chime 和 Microsoft Teams)
確認您是否正確設定了 SNS 主題和 Amazon Q Developer 之間的通訊頻道。
確認您是否已將 Amazon Q Developer 訂閱到 Amazon SNS 主題
請完成下列步驟:
- 開啟 Amazon Q Developer console (Amazon Q Developer 主控台)。
- 在導覽窗格中的 Configured clients (已設定的用戶端) 下,選擇 Slack、Amazon Chime 或 Microsoft Teams。
- 在 Slack workspace configuration (Slack 工作區組態) 中選取您的 Slack 頻道,在 Amazon Chime webhooks 清單中選取 Webhook 或您的 Microsoft Teams 頻道。
- 選擇 Edit (編輯)。
- 在 Details (詳細資料) 窗格中的 Topics (主題) 下,尋找您的 SNS 主題。如果主題未列出,請將您的 SNS 主題訂閱至 Amazon Q Developer。
確認您是否將 Amazon Q Developer 端點列為 Amazon SNS 主題的主題訂閱
請完成下列步驟:
- 開啟 Amazon SNS console (Amazon SNS 主控台)。
- 在導覽窗格中,選擇 Topics (主題),然後選取您 SNS 主題的名稱。
- 在 Subscriptions (訂閱) 下,請尋找以下 Amazon Q Developer 端點:https://global.sns-api.chatbot.amazonaws.com。如果 Amazon Q Developer 端點未列為主題訂閱,則您必須將 SNS 主題訂閱到 Amazon Q Developer。
注意:使用您的 Amazon Q Developer 組態傳送測試通知。
請確認您沒有從 SNS 主題手動發佈不支援格式的訊息到 Amazon Q Developer
Amazon Q Developer 支援手動發佈到 SNS 主題的訊息。但是,訊息的格式必須與 Amazon Q Developer 相容。任何設定為傳送訊息的服務,都必須透過 Amazon Q Developer 支援的服務,將 Amazon SNS 通知傳送給 Amazon Q Developer。
確認 Amazon Q Developer 是否支援發佈到您 Amazon SNS 主題的 AWS 服務訊息
檢查聊天應用程式 CloudWatch Logs 中是否存在 "Event Received is not supported" 錯誤訊息。如果您看到 "Event Received is not supported" 錯誤訊息,則表示 Amazon Q Developer 不支援發佈到您主題的 AWS 服務訊息。
如需 Amazon Q Developer 支援的 AWS 服務清單,請參閱在聊天應用程式中使用 Amazon Q Developer 監控 AWS 服務。
確保您的 Amazon SNS 主題授予其他 AWS 服務發佈訊息所需的權限
請完成下列步驟:
- 開啟 Amazon SNS console (Amazon SNS 主控台)。
- 在導覽窗格中,選擇 Topics (主題)。
- 選取您訂閱 Amazon Q Developer 的 SNS 主題。
- 選擇 Access policy (存取政策) 索引標籤。
- 查看存取政策的 Statement (聲明) 區段。確保該政策允許正確的 AWS 服務執行 SNS:Publish API 動作。
- 如果您的 Amazon SNS 存取政策未允許正確的 AWS 服務向您的主題發佈事件,請更新該政策:
在主題頁面的 Details (詳細資料) 區段中,選擇 Edit (編輯)。
展開 Access policy (存取政策) 區段,然後新增正確的存取控制。
**注意:**如需 Amazon SNS 存取政策的範例,請參閱設定 Amazon SNS 主題以接收通知。
確認您的 Amazon SNS 主題未啟用原始訊息傳送
Amazon Q Developer 不接受原始訊息交付。若要確認您的 SNS 主題是否未啟用原始訊息交付,請完成以下步驟:
- 開啟 Amazon SNS console (Amazon SNS 主控台)。
- 在導覽窗格中,選擇 Topics (主題),然後選取您 SNS 主題的名稱。
- 在 Details (詳細資料) 窗格中,檢查 Raw message delivery (原始訊息交付) 的狀態是已啟用還是已停用。
- 如果狀態為已啟用,則執行下列動作:
選擇 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 服務發佈到您 Amazon SNS 主題的訊息頻率不超過每秒 10 則通知
Amazon Q Developer 允許每秒最多 10 筆事件。如果 Amazon Q Developer 每秒接收到超過 10 筆事件,則額外的訊息會受到限流。
若要檢查是否存在限流的事件,請查看 CloudWatch Logs for Amazon Q Developer 中的 EventsThrottled 指標。
(對於 Amazon EventBridge) 確保 EventBridge 支援 AWS 服務傳送到您 Amazon Q Developer 用戶端目的地的事件通知
使用 EventBridge 輸入轉換器來產生自訂通知,然後將通知轉送到 SNS 主題。使用 Amazon Q Developer 監控 SNS 主題,並將通知傳送至已設定的 Microsoft Teams、Amazon Chime 或 Slack 頻道。Amazon Q Developer 自訂通知必須遵循事件結構描述格式。
如需詳細資訊,請參閱聊天應用程式中支援 Amazon Q Developer 的服務。
相關資訊
對聊天頻道中的 Amazon Q Developer 進行疑難排解
如何使用 Webhook 將 Amazon SNS 訊息發佈到 Amazon Chime、Slack 或 Microsoft Teams?
- 語言
- 中文 (繁體)

相關內容
- 已提問 1 年前
- 已提問 2 年前