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 リファレンス ドキュメント | 製品ドキュメント | サンプル

作業の開始

前提条件

パッケージをインクルードする

<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 ライブラリが必要です。 このシリアライザーで受け入れられるペイロードの種類には、 GenericRecordSpecificRecord が含まれます

シリアル化

厳密に型指定されたオブジェクトをスキーマ レジストリと互換性のある 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 宛てに質問またはコメントをお送りください。

インプレッション数