Java 用 Azure Schema Registry Apache Avro Serializer クライアント ライブラリ - バージョン 1.1.10
Azure Schema Registry Apache Avro は Avro データ形式のシリアライザーおよび逆シリアライザー ライブラリであり、Azure Event Hubsでホストされている Azure Schema Registry と統合され、スキーマ ストレージ、バージョン管理、管理が提供されます。 このパッケージは、スキーマ レジストリ スキーマ識別子と Avro でエンコードされたデータを含むペイロードをシリアル化および逆シリアル化できる Avro シリアライザーを提供します。 このライブラリでは 、Avro のシリアル化と逆シリアル化に Apache Avro 実装を使用します。
ソースコード | パッケージ (Maven) | API リファレンス ドキュメント | 製品ドキュメント | サンプル
作業の開始
前提条件
- Java Development Kit (JDK) バージョン 8 以降。
- Azure サブスクリプション
- Event Hubs 名前空間
パッケージをインクルードする
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-schemaregistry-apacheavro</artifactId>
<version>1.1.10</version>
</dependency>
インスタンスを作成 SchemaRegistryApacheAvroSerializer
する
インスタンスはSchemaRegistryApacheAvroSerializer
、avro データ形式をシリアル化および逆シリアル化するための API を提供するメイン クラスです。 avro スキーマは、 を介してスキーマ レジストリ サービスに格納され、 SchemaRegistryAsyncClient
取得されます。 したがって、シリアライザーを作成する前に、クライアントを作成する必要があります。
Azure Active Directory 資格情報を使用して作成 SchemaRegistryAsyncClient
する
Azure Schema Registry サービスと対話するには、 を使用して SchemaRegistryClientBuilder
クラスのインスタンスをSchemaRegistryAsyncClient
作成する必要があります。 スキーマ レジストリ エンドポイントが必要です。
Azure Id ライブラリを使用して、Azure Active Directory で認証できます。 リージョン エンドポイントは AAD 認証をサポートしないことに注意してください。 この種類の認証を使用するために、リソースのカスタム サブドメインを作成します。
次に示す DefaultAzureCredential プロバイダー、または Azure SDK で提供されている他の資格情報プロバイダーを使用するには、パッケージを azure-identity
含めてください。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.10.1</version>
</dependency>
また、 新しい AAD アプリケーションを登録 し、スキーマ レジストリ サービス へのアクセス 権を付与する必要もあります。
TokenCredential tokenCredential = new DefaultAzureCredentialBuilder().build();
// {schema-registry-endpoint} is the fully qualified namespace of the Event Hubs instance. It is usually
// of the form "{your-namespace}.servicebus.windows.net"
SchemaRegistryAsyncClient schemaRegistryAsyncClient = new SchemaRegistryClientBuilder()
.fullyQualifiedNamespace("{your-event-hubs-namespace}.servicebus.windows.net")
.credential(tokenCredential)
.buildAsyncClient();
ビルダーを使用して作成 SchemaRegistryAvroSerializer
する
SchemaRegistryApacheAvroSerializer serializer = new SchemaRegistryApacheAvroSerializerBuilder()
.schemaRegistryClient(schemaRegistryAsyncClient)
.schemaGroup("{schema-group}")
.buildSerializer();
主要な概念
このライブラリは、シリアライザー を提供します SchemaRegistryApacheAvroSerializer
。 では SchemaRegistryAvroSerializer
、 を SchemaRegistryAsyncClient
使用して、スキーマ ID などのスキーマ情報を含むワイヤ形式を使用してメッセージを構築します。
このシリアライザーには Apache Avro ライブラリが必要です。 このシリアライザーで受け入れられるペイロードの種類には、 GenericRecord と SpecificRecord が含まれます。
例
シリアル化
厳密に型指定されたオブジェクトをスキーマ レジストリと互換性のある avro ペイロードにシリアル化します。
PlayingCard playingCard = new PlayingCard();
playingCard.setPlayingCardSuit(PlayingCardSuit.SPADES);
playingCard.setIsFaceCard(false);
playingCard.setCardValue(5);
MessageContent message = serializer.serialize(playingCard,
TypeReference.createInstance(MessageContent.class));
avro の種類 PlayingCard
は、サンプル パッケージ com.azure.data.schemaregistry.avro.generatedtestsources
で入手できます。
XAML の
スキーマ レジストリと互換性のある avro ペイロードを厳密に型指定されたオブジェクトに逆シリアル化します。
SchemaRegistryApacheAvroSerializer serializer = createAvroSchemaRegistrySerializer();
MessageContent message = getSchemaRegistryAvroMessage();
PlayingCard playingCard = serializer.deserialize(message, TypeReference.createInstance(PlayingCard.class));
トラブルシューティング
ログ記録の有効化
Azure SDK for Java には、アプリケーション エラーのトラブルシューティングと解決の迅速化に役立つ一貫したログ記録のストーリーが用意されています。 生成されたログでは、最終状態に達する前のアプリケーションのフローがキャプチャされ、根本原因を特定するのに役立ちます。 ログ記録の有効化に関するガイダンスについては、ログ Wiki を参照してください。
次のステップ
その他のサンプル については、こちらを参照してください。
共同作成
このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。
pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。