クライアントは、Simple Log Service の Java SDK クライアントです。プロジェクトと Logstore の作成、ログの書き込み、ログの読み取りを行うメソッドを提供します。Java SDK を使用してリクエストを送信する前に、クライアントインスタンスを初期化し、必要に応じてデフォルト設定を変更します。
前提条件
-
Java SDK のインストールが完了していること。
手順
2 つの初期化方法があります。シナリオに適したものを選択してください。
-
AK 初期化:アクセスキーペアは、API 呼び出しに直接使用できる長期的な認証情報です。この方法は、頻繁な認証情報のローテーションを必要としない安定したシナリオに適しています。
-
STS 初期化:Security Token Service (STS) は一時的なアクセス認証情報を生成します。この方法は、動的で短期間の認可を必要とするシナリオに適しています。
アクセスキーペアを使用した初期化
クライアントの初期化
public Client(String endpoint, String accessKeyId, String accessKeySecret)
リクエストパラメーター
|
変数 |
タイプ |
必須 |
説明 |
値の例 |
|
endpoint |
String |
はい |
Simple Log Service へのアクセスに使用するエンドポイント。エンドポイントは、クライアントとサービス間の通信のためのアクセスプロトコル、ホスト名、ポート、パスを指定する URL です。Simple Log Service は次のタイプのエンドポイントを提供します。
|
|
|
accessKeyId |
String |
はい |
|
LTAI**************** |
|
accessKeySecret |
String |
はい |
アクセスキーペアを使用してアクセス認証情報を設定する場合、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。AccessKey Secret は AccessKey ID を認証します。詳細については、「アクセス認証情報の設定」をご参照ください。 |
yourAccessKeySecret |
サンプルコード
V4 署名アルゴリズムは、より複雑な暗号化と署名により高いセキュリティを提供します。V1 署名アルゴリズムはよりシンプルです。要件に基づいて署名アルゴリズムを選択してください。
V4 署名
package com.test.controller;
import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.http.client.ClientConfiguration;
import com.aliyun.openservices.log.http.signer.SignVersion;
public class Sample {
public static void main(String[] args) throws Exception {
// Simple Log Service のエンドポイント。この例では中国 (北京) リージョンのエンドポイントを使用します。実際のエンドポイントに置き換えてください。
String endpoint = "cn-beijing.log.aliyuncs.com";
// この例では、環境変数から AccessKey ID と AccessKey Secret を取得します。
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setRegion("cn-beijing");
clientConfiguration.setSignatureVersion(SignVersion.V4);
Client client = new Client(endpoint,
accessKeyId,
accessKeySecret,
clientConfiguration);
}
}
V1 署名
package com.test.controller;
import com.aliyun.openservices.log.Client;
public class Sample {
public static void main(String[] args) throws Exception {
// Simple Log Service のエンドポイント。この例では中国 (北京) リージョンのエンドポイントを使用します。実際のエンドポイントに置き換えてください。
String endpoint = "cn-beijing.log.aliyuncs.com";
// この例では、環境変数から AccessKey ID と AccessKey Secret を取得します。
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
Client client = new Client(endpoint, accessKeyId, accessKeySecret);
}
}
STS を使用した初期化
クライアントの初期化
Client(String endpoint, CredentialsProvider credentialsProvider);
リクエストパラメーター
|
変数 |
タイプ |
必須 |
説明 |
値の例 |
|
endpoint |
String |
はい |
Simple Log Service へのアクセスに使用するエンドポイント。エンドポイントは、クライアントとサービス間の通信のためのアクセスプロトコル、ホスト名、ポート、パスを指定する URL です。Simple Log Service は次のタイプのエンドポイントを提供します。
|
|
|
credentialsProvider |
CredentialsProvider |
はい |
STS を使用してアクセス資格情報を設定する場合、AssumeRole API 操作によって返される Credentials パラメーターの AccessKeyId です。 |
new StaticCredentialsProvider(...) |
|
accessKeySecret |
String |
Yes |
If you use STS to configure access credentials, the AccessKeySecret from the Credentials parameter returned by the AssumeRole API operation. |
yourAccessKeySecret |
|
securityToken |
String |
Yes |
If you use STS to configure access credentials, the SecurityToken from the Credentials parameter returned by the AssumeRole API operation. |
**************** |
サンプルコード
package com.test.controller;
import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.auth.DefaultCredentials;
import com.aliyun.openservices.log.common.auth.StaticCredentialsProvider;
public class Sample {
public static void main(String[] args) throws Exception {
// Simple Log Service のエンドポイント。この例では中国 (北京) リージョンのエンドポイントを使用します。実際のエンドポイントに置き換えてください。
String endpoint = "cn-beijing.log.aliyuncs.com";
// この例では、AssumeRole API が返す Credentials パラメーターの AccessKeyId を環境変数から取得します。
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
// この例では、AssumeRole API が返す Credentials パラメーターの AccessKeySecret を環境変数から取得します。
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
// この例では、AssumeRole API が返す Credentials パラメーターの SecurityToken を環境変数から取得します。
String securityToken = System.getenv("ALIBABA_CLOUD_STS_TOKEN");
Client client = new Client(endpoint, new StaticCredentialsProvider(
new DefaultCredentials(accessKeyId, accessKeySecret, securityToken)
));
}
}
関連ドキュメント
-
クライアントを初期化した後、API オペレーションを呼び出してプロジェクトの作成、ログの書き込み、その他の操作を実行できます。詳細については、「Java SDK のクイックスタート」をご参照ください。