SDK のインストール
Maven プロジェクトに次の依存関係を追加します。
<dependency>
<groupId>com.aliyun.datahub</groupId>
<artifactId>aliyun-sdk-datahub</artifactId>
<version>2.29.5</version>
</dependency>JDK: バージョン 1.8 以降を使用してください。
API でキー認証が必要な場合は、プロジェクトで AccessKey ID と AccessKey Secret を設定します。詳細については、「認証」をご参照ください。
認証
背景情報
AccessKey (AK) は、Alibaba Cloud が提供するアクセスキーで、OpenAPI の呼び出しを認証するために使用されます。AccessKey は AccessKey ID と AccessKey Secret で構成されます。両方とも機密情報として保持する必要があります。
Alibaba Cloud Credentials は、Alibaba Cloud 開発者向けの認証情報管理ツールです。デフォルトの認証情報プロバイダーチェーンを設定することで、AccessKey をプレーンテキストでハードコーディングすることなく Alibaba Cloud OpenAPI を呼び出すことができます。クラウドリソースの保護に役立ちます。
前提条件
RAM ユーザーの AccessKey ID と AccessKey Secret を取得します。手順については、「RAM ユーザーの AccessKey 情報を表示する」をご参照ください。
- 重要
メインアカウントの AccessKey が漏洩すると、アカウント内のすべてのリソースが危険にさらされます。アカウントを保護するため、RAM ユーザーの AccessKey を作成し、やむを得ない場合を除き、メインアカウントの AccessKey は作成しないでください。
RAM ユーザーの AccessKey Secret は、AccessKey の作成時にのみ表示され、後で取得することはできません。すぐに AccessKey Secret を安全に保存してください。
Alibaba Cloud Credentials ツールをインストールします。
Maven でインストールするには (Credentials の 最新バージョン を使用することを推奨します) :
<dependency> <groupId>com.aliyun</groupId> <artifactId>credentials-java</artifactId> <version>0.2.11</version> </dependency>JDK 1.8 以降をインストールします。
設定方法
このトピックでは、環境変数を例として使用します。その他の設定方法については、「環境変数の設定」をご参照ください。
設定ファイルを使用する場合、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数がシステムに設定されていないことを確認してください。これらの環境変数が設定されている場合、設定ファイルよりも優先されます。
ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定することで、デフォルトのアクセス認証情報を作成できます。その後、アプリケーションはこれらの変数を自動的に使用して API 呼び出しを認証します。
環境変数の設定
ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定します。
Linux および macOS システムの場合
次のコマンドを実行します。
export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret><access_key_id>をお使いの AccessKey ID に、<access_key_secret>をお使いの AccessKey Secret に置き換えます。Windows システムの場合
ALIBABA_CLOUD_ACCESS_KEY_IDとALIBABA_CLOUD_ACCESS_KEY_SECRETの 2 つの新しい環境変数を作成します。それぞれの値をお使いの AccessKey ID と AccessKey Secret に設定します。Windows を再起動します。
コード例
注意事項
SDK v2.9 からアップグレードする場合: setTimestampInms メソッドを置き換える場合は、タイムスタンプ値を 1,000 倍してください。
通常の操作では、データの読み書きのために頻繁に呼び出されるのは
putRecords / putRecordsByShardAPI とgetRecordsAPI のみです。getTopic、getCursor、listShardなどの他の API は、通常、初期化時にのみ呼び出されます。プロジェクトには 1 つ以上の DatahubClient インスタンスを作成できます。DatahubClient インスタンスはスレッドセーフです。
異なるパッケージに同じ名前のクラスがある場合、バージョン 2.12 以降では com.aliyun.datahub.client パッケージのクラスが使用されることにご注意ください。他のパッケージのクラスは、バージョン 2.12 より前の SDK との下位互換性のために維持されています。例:
// バージョン 2.12 com.aliyun.datahub.client.model.RecordSchema // バージョン 2.12 より前の SDK でコードが記述されており、アップグレード後のコード変更を避けたい場合は、この型を引き続き使用してください。 com.aliyun.datahub.common.data.RecordSchemaParse body failed, Offset: 0というエラーが発生した場合、enableBinary パラメーターをfalseに設定してみてください。