翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チャネルプロセッサの設定
チャネルフローの使用を開始するには、まず、ユースケースの前処理を行うプロセッサ Lambda 関数を作成します。例えば、メッセージの内容やメタデータを更新したり、メッセージを拒否して送信されないようにしたり、元のメッセージを通過させたりすることができます。
前提条件
Lambda 関数は、 と同じ AWS アカウントと同じ AWS リージョンに存在する必要があります AppInstance。
呼び出しアクセス許可の付与
Amazon Chime SDK メッセージングサービスに、Lambda リソースを呼び出すためのアクセス許可を与える必要があります。アクセス許可の詳細については、「AWS Lambdaでのリソースベースのポリシーの使用」を参照してください。例:
-
プリンシパル:「messaging.chime.amazonaws.com」
アクション: Lambda:InvokeFunction
[効果]: [許可]
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
Content - 処理対象のメッセージコンテンツ
CreatedTimestamp メッセージが作成された時刻
LastEditedTimestamp メッセージが編集された時刻
MessageId メッセージ識別子
Metadata - 処理対象のメッセージメタデータ
Persistence - メッセージをバックエンドで永続化するかどうかを制御するブール値。有効な値:
PERSISTENT | NON_PERSISTENT
Sender - メッセージの送信者。タイプ: identity オブジェクト 。
タイプ メッセージタイプ。 は
STANDARD
メッセージタイプChannelFlowのみをサポートします。有効な値:STANDARD
プロセッサ関数は各メッセージについて以下を決定します。
メッセージコンテンツ、メタデータ、またはその両方を更新するかどうか
メッセージを拒否するかどうか
メッセージを変更しないで残すかどうか
処理が終了すると、プロセッサ Lambda 関数は結果を Amazon Chime SDK メッセージングサービスに送り返し、メッセージをすべての受信者に送信できるようにします。メッセージステータスは、プロセッサ Lambda 関数が結果を返送するまで PENDING
とマークされます。プロセッサ Lambda 関数は 48 時間以内に結果を送り返します。それ以降のメッセージ配信は保証されず、ChannelFlowCallback API は Forbidden Exception のエラーメッセージをスローします。結果を返すには、 ChannelFlowCallback
API を呼び出します。