

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

# Amazon Chime SDK 用のサーバーアプリケーションの構築
<a name="build-server-app"></a>

以下のセクションの情報では、Amazon Chime SDK サーバーアプリケーションを構築する方法について説明します。各セクションでは必要に応じてコード例が提供されており、ニーズに合わせてそのコードを適応させることができます。

**Topics**
+ [Amazon Chime SDK 用の IAM ユーザーまたはロールを作成する](create-iam-users-roles.md)
+ [Amazon Chime AWS SDK の APIs を呼び出すように SDK を設定する](invoke-apis.md)
+ [Amazon Chime SDK の会議の作成](create-meeting.md)
+ [Amazon Chime SDK の参加者の作成](create-attendee.md)
+ [Amazon Chime SDK でクライアントへのレスポンスを送信する](send-response-to-client.md)

# Amazon Chime SDK 用の IAM ユーザーまたはロールを作成する
<a name="create-iam-users-roles"></a>

IAM ユーザーとして、またはユースケースに適したロールでユーザーを作成します。その後、作成したユーザーに以下のポリシーを割り当てます。これにより、サーバーアプリケーションに埋め込まれた AWS SDK に必要なアクセス許可が確実に得られます。次に、それによって、会議および参加者のリソースに対してライフサイクル操作を実行できるようになります。

```
   // Policy ARN:     arn:aws:iam::aws:policy/AmazonChimeSDK 
    // Description:    Provides access to Amazon Chime SDK operations
    {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "chime:CreateMeeting",
                "chime:DeleteMeeting",
                "chime:GetMeeting",
                "chime:ListMeetings",
                "chime:CreateAttendee",
                "chime:BatchCreateAttendee",
                "chime:DeleteAttendee",
                "chime:GetAttendee",
                "chime:ListAttendees"
            ],
            "Effect": "Allow",
            "Resource": "*"
     }
 ]}
```

# Amazon Chime AWS SDK の APIs を呼び出すように SDK を設定する
<a name="invoke-apis"></a>

このコードサンプルでは、 AWS SDK に認証情報を渡し、リージョンとエンドポイントを設定する方法を示します。

```
    AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey, null);
    const chime = new AWS.Chime({ region: 'us-east-1' });
    chime.endpoint = new AWS.Endpoint('https://service.chime.aws.amazon.com/console');
```

# Amazon Chime SDK の会議の作成
<a name="create-meeting"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html) API コールでは、必須のパラメータである `ClientRequestToken` を受け入れます。デベロッパーがこれを使用すると、一意性コンテキストを渡すことができます。また、会議用に選択するメディアサービスデータプレーンのリージョンを表す `MediaRegion`、会議の主催者を表す不透明な識別子を渡すために必要に応じて使用する `MeetingHostId`、会議のライフサイクルイベントを受信するための `NotificationsConfiguration` などのオプションパラメータも受け入れます。デフォルトでは、Amazon EventBridge はイベントを配信します。オプションで、`NotificationsConfiguration` で SQS キューの ARN または SNS トピックの ARN を渡してイベントを受信することもできます。API は、一意の `MeetingId` を含む Meeting オブジェクト、`MediaRegion`、一連のメディアの URL を含む `MediaPlacement` オブジェクトを返します。

```
   meeting = await chime.createMeeting({
                ClientRequestToken: clientRequestToken,
                MediaRegion: mediaRegion,
                MeetingHostId: meetingHostId,
                NotificationsConfiguration: {
                   SqsQueueArn: sqsQueueArn,
                   SnsTopicArn: snsTopicArn
                }
            }).promise();
```

# Amazon Chime SDK の参加者の作成
<a name="create-attendee"></a>

会議を作成した後、メディアセッションに参加しようとする各ユーザーを表した参加者リソースを作成します。[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html) API は以下を取得します。
+ ユーザーを追加する会議の `MeetingId`。
+ `ExternalUserId`。ID システムからの不透明なユーザー識別子であればどれでも構いません。

例えば、Active Directory (AD) を使用する場合、これは AD 内のユーザーのオブジェクト ID である可能性があります。`ExternalUserId` は、クライアント SDK から参加者イベントを受信するとクライアントアプリケーションに返されるため、有用です。これにより、クライアントアプリケーションで会議に参加または退席した人物を把握し、表示名、メールアドレス、画像など、そのユーザーに関する追加情報をサーバーアプリケーションから取得することができます。

`CreateAttendee` API を呼び出すと、`Attendee` オブジェクトが生成されます。このオブジェクトには、サービスによって生成された一意の `AttendeeId`、渡された `ExternalUserId`、参加者がその期間中または [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html) API によって削除されるまで会議にアクセスできるようにする署名済みの `JoinToken` が含まれます。

```
       attendee = await chime.createAttendee({
                MeetingId: meeting.MeetingId,
                ExternalUserId: externalUserId,
              }).promise();
```

# Amazon Chime SDK でクライアントへのレスポンスを送信する
<a name="send-response-to-client"></a>

会議および参加者リソースを作成したら、サーバーアプリケーションで会議および参加者オブジェクトをエンコードしてクライアントアプリケーションに送り返す必要があります。クライアントでは、JavaScript 用の Amazon Chime SDK クライアントライブラリをブートストラップし、参加者がウェブまたは Electron ベースのアプリケーションから会議に正常に参加できるようにするために、これらの情報が必要です。