バックエンドサービスから SDK 呼び出しを行う - Amazon Chime SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バックエンドサービスから SDK 呼び出しを行う

バックエンドサービスを表すユーザーを作成したら、チャネルを作成し、そのチャネルにメッセージを送信し、そのチャネルからのメッセージを読み取ります。

以下の CLI コマンドを実行して、パブリックチャネルを作成します。

aws chime-sdk-messaging create-channel \ --chime-bearer "app_instance_user_arn" \ --app-instance-arn "app_instance_arn" \ --name "firstChannel"

このコマンドは、以下の形式の ARN を生成します: arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

バックエンドサービスの IAM 認証の仕組み

前のセクションの CLI コマンドの chime-bearer パラメータを書き留めます。チャネルやメッセージなどのリソースを作成したり操作したりするユーザーを識別します。ほぼすべての Amazon Chime SDK メッセージング API は、パラメータとして chime-bearer を受け取ります。ただし、CreateAppInstance などの開発者だけが呼び出すための API は例外です。

Amazon Chime SDK メッセージング API の IAM アクセス許可には、chime-bearer パラメータと一致する app-instance-user-arn が必要です。API によっては、追加の ARN (通常はチャネル ARN) が必要になる場合があります。これにより、上記の例のようなバックエンドサービスの場合、IAM ポリシーは以下の例のようになります。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "chime:SendChannelMessage", "chime:ListChannelMessages", "chime:CreateChannelMembership", "chime:ListChannelMemberships", "chime:DeleteChannelMembership", "chime:CreateChannel", "chime:ListChannels", "chime:DeleteChannel", ... ], "Resource": [ "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/back-end-worker", "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/*" ] }

Resource セクションの AppInstanceUser ARN とチャネル ARN を書き留めます。この IAM ポリシーの例では、ID が「」のユーザーとして API コールを実行するアクセス許可をバックエンドサービスに付与しますback-end-worker。バックエンドサービスがアプリケーションを使用するユーザーを呼び出せるようにするには、app_instance_user_arnarn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/* に変更します。

暗黙的な API 認証について

IAM ポリシーに加えて、Amazon Chime SDK メッセージング API には暗黙的なアクセス許可があります。例えば、AppInstanceUser はメッセージを送信したり、ユーザーが属するチャネルのチャネルメンバーシップを一覧表示することしかできません。ただし、AppInstanceAdmin に昇格した AppInstanceUser は例外です。デフォルトでは、管理者はアプリケーション内のすべてのチャネルへのアクセス許可を持っています。ほとんどのユースケースでは、重要なビジネスロジックを含むバックエンドサービスにのみこれが必要です。

以下の CLI コマンドは、バックエンドユーザーを管理者に昇格させます。

aws chime-sdk-identity create-app-instance-admin \ --app-instance-admin-arn "app_instance_user_arn" \ --app-instance-arn "app_instance_arn"

チャネルメッセージの送信と一覧表示

以下の CLI コマンドは、チャネルメッセージを送信します。

aws chime-sdk-messaging send-channel-message \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn" \ --content "hello world" \ --type STANDARD \ --persistence PERSISTENT

以下の CLI コマンドは、チャネルメッセージを新しい順に一覧表示します。

  • aws chime list-channel-messages

  • aws chime-sdk-messaging list-channel-messages

aws chime-sdk-messaging list-channel-messages \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn"