設定通道處理器 - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定通道處理器

若要開始使用通道流程,請先建立處理器 Lambda 函數來處理您的使用案例的預處理。例如,您可以更新訊息內容或中繼資料、拒絕訊息並防止傳送訊息,或讓原始郵件通過。

必要條件
  • Lambda 函數必 AWS 須與 AppInstance. AWS

授予調用權限

您必須授與 Amazon Chime 開發套件簡訊服務權限,才能叫用 Lambda 資源。如需有關權限的詳細資訊,請參閱〈使用以資源為基礎的策略〉。 AWS Lambda例如:

校長:「發送消息. 亞馬遜」

動作:拉姆達:InvokeFunction

Effect (效果):允許

AWS:SourceAccount: 您的 AWS AccountId.

AWS: SourceArn: "arn:aws:chime:region:AWS AccountId: appInstance/"

注意

您可以提供特定的應用程式執行個體 ID 來叫用處理器,或使用萬用字元允許帳戶中的所有 Amazon Chime SDK 應用程式執行個體叫用您的處理器。

授與回呼權限

您也必須允許處理器 Lambda 函數呼叫 ChannelFlowCallback API。有關這樣做的詳細信息,請參閱AWS Lambda 開發人員指南中的AWS Lambda 運行角色

您可以將內嵌政策新增至 Lambda 函數的執行角色。此範例可讓處理器呼叫ChannelFlowCallback API.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "chime:ChannelFlowCallback" ], "Resource": [ "arn:aws:chime:Region:AwsAccountId:appInstance/*" ] } ] }
注意

請遵循 Lambda 函數的最佳做法。如需詳細資訊,請參閱下列主題:

叫用處理器 Lambda 函數

當使用者傳送訊息時,下列輸入要求會叫用處理器 Lambda 函數。

{ "EventType": "string" "CallbackId": "string" "ChannelMessage": { "MessageId": "string", "ChannelArn": "string", "Content": "string", "Metadata": "string", "Sender":{ "Arn": "string", "Name": "string" }, "Persistence": "string", "LastEditedTimestamp": "string", "Type": "string", "CreatedTimestamp": "string", } }
EventType

事件被發送到處理器。該值是一個CHANNEL_MESSAGE_EVENT常數。

CallbackId

從處理器調用 ChannelFlowCallback API 時使用的令牌。

ChannelMessage

ChannelArn該頻道的 ARN

內容待處理的訊息內容

CreatedTimestamp建立郵件的時間

LastEditedTimestamp編輯訊息的時間

MessageId訊息識別碼

中繼資料訊息中繼資料要處理

持續性布爾值,用於控制消息是否在後端持續存在。有效值:PERSISTENT | NON_PERSISTENT

寄件者郵件寄件者。類型:identity物件

輸入訊息類型。 ChannelFlow僅支持消STANDARD息類型。有效值:STANDARD

處理器功能確定有關每個消息的以下內容。

  • 是否要更新訊息內容、中繼資料或兩者

  • 是否拒絕訊息

  • 是否要留言不變

處理完成時,處理器 Lambda 函數會將結果傳送回 Amazon Chime SDK 簡訊服務,以便將訊息傳送給所有收件者。訊息狀態會標記,PENDING直到處理器 Lambda 函數傳回結果為止。處理器 Lambda 函數有 48 小時可以傳回結果。在此之後,我們不保證訊息傳遞,且 ChannelFlowCallbackAPI 會擲回「禁止例外」錯誤訊息。若要傳回結果,請呼叫 ChannelFlowCallback API。