Java 用 Azure Communication Service Common クライアント ライブラリ - バージョン 1.2.13
Azure Communication Common には、Azure Communication Servicesとの通信に一般的に使用されるデータ構造が含まれています。 これは、認証など、横断的な懸念事項を提供することを目的としています。
作業の開始
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Java Development Kit (JDK) バージョン 8 以降。
- Apache Maven。
- デプロイ済みの Communication Services リソース。
BOM ファイルを含める
ライブラリの一般提供 (GA) バージョンに依存するには、azure-sdk-bom をプロジェクトに含めてください。 次のスニペットでは、{bom_version_to_target} プレースホルダーをバージョン番号に置き換えます。 BOM の詳細については、 AZURE SDK BOM README に関するページを参照してください。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
次に、バージョン タグのない依存関係セクションに直接依存関係を含めます。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-common</artifactId>
</dependency>
</dependencies>
直接依存関係を含める
BOM に存在しないライブラリの特定のバージョンに依存する場合は、次のように直接依存関係をプロジェクトに追加します。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-common</artifactId>
<version>1.2.13</version>
</dependency>
主要な概念
Azure Communication Servicesを操作するには、認証にリソース アクセス キーが使用されます。
Azure Communication Service では、リソース アクセス キーを使用した HMAC 認証がサポートされています。 HMAC 認証を適用するには、アクセス キーを使用して を構築 CommunicationClientCredential
し、 を CommunicationIdentityClient
インスタンス化してユーザーとトークンを管理します。
CommunicationTokenCredential
オブジェクトは CommunicationTokenCredential
、チャットや通話などの Communication Services でユーザーを認証するために使用されます。 必要に応じて、通信中に継続的に安定した認証状態を確保するための自動更新メカニズムが提供されます。
シナリオによっては、次を使用して を CommunicationTokenCredential
初期化できます。
- 静的トークン (1 回限りのチャット メッセージの送信など、有効期間の短いクライアントに適しています) または
- 継続的な認証状態を保証するコールバック関数 (長い通話セッションに最適)。
コンストラクターまたはトークン リフレッシャー コールバックを介して に CommunicationTokenCredential
提供されるトークンは、Azure Communication Identity ライブラリを使用して取得できます。
例
静的トークンを使用して資格情報を作成する
有効期間の短いクライアントの場合、有効期限が切れた時点でトークンを更新する必要 CommunicationTokenCredential
はありません。静的トークンを使用してインスタンス化できます。
String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(token);
コールバックを使用してプロアクティブな更新を行う資格情報を作成する
または、有効期間の長いクライアントの場合は、有効期限が切れた場合にトークンを更新するコールバックを使用して を作成 CommunicationTokenCredential
できます。
ここでは、ユーザーのトークン文字列を取得するためのネットワーク要求を行う関数 fetchTokenFromMyServerForUser
があることを前提としています。
関数は常に fetchTokenFromMyServerForUser
有効なトークンを返す必要があります (有効期限が将来設定されます)。
必要に応じて、前のトークンの有効期限が近づくとすぐに新しいトークンが取得されるプロアクティブ トークンの更新を有効にすることができます。 このメソッドを使用すると、新しいトークンを取得するために要求がブロックされる可能性が低くなります。
String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenRefreshOptions tokenRefreshOptions = new CommunicationTokenRefreshOptions(fetchTokenFromMyServerForUser)
.setRefreshProactively(true)
.setInitialToken(token);
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(tokenRefreshOptions);
トラブルシューティング
進行中。
次の手順
Azure 通信サービス用の他のクライアント ライブラリを確認する
共同作成
このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。
pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。