OTSClient は、テーブルの管理、単一行または複数行に対する読み取りおよび書き込み操作を実行するために使用できるさまざまなメソッドを提供する Tablestore クライアントです。ワイドカラムモデルを使用してデータテーブルを管理し、1 つ以上の行に対する読み取りおよび書き込み操作を実行する場合は、OTSClient インスタンスを初期化し、ビジネス要件に基づいて OTSClientConfig のデフォルト設定を変更する必要があります。時系列モデルを使用して時系列テーブルを管理し、時系列をクエリし、時系列データの読み取りと書き込みを行う場合は、TimeseriesClient インスタンスを初期化する必要があります。
使用上の注意
HTTPS 経由で Tablestore リソースにアクセスする場合は、Java 7 を使用してください。
Java 向け Tablestore SDK はマルチスレッドをサポートしています。タスクの複数スレッドを実行するには、同じ OTSClient オブジェクトを使用することをお勧めします。
準備
OTSClient インスタンスを初期化する前に、Tablestore インスタンスのエンドポイントを取得し、Java 向け Tablestore SDK をインストールし、アクセス認証情報を設定する必要があります。
Tablestore インスタンスのエンドポイントを取得する
Java 向け Tablestore SDK をインストールする
アクセス認証情報を設定する
クライアントを初期化する
Java 向け Tablestore SDK を使用して ワイドカラムモデル を使用する場合、クライアントを作成し、クライアントの操作を呼び出して Tablestore にアクセスする必要があります。クライアントの操作は、Tablestore の RESTful API 操作と同じ機能を提供します。
Java 向け Tablestore SDK は、SyncClient と AsyncClient というクライアントを提供しています。SyncClient には同期操作が含まれ、AsyncClient には非同期操作が含まれます。同期操作を呼び出すと、操作はリクエストが実行されたことを示すレスポンスを直接返します。Tablestore のさまざまな機能を使用するために同期操作を呼び出すことができます。同期操作と比較して、非同期操作はより柔軟です。マルチスレッドは非同期操作よりも高いパフォーマンスを提供します。ビジネス要件に基づいて非同期操作またはマルチスレッドを選択できます。
SyncClient と AsyncClient はスレッドセーフです。クライアントを使用して内部スレッドと接続リソースを管理できます。グローバルクライアントを作成することをお勧めします。こうすることで、スレッドまたはリクエストごとにクライアントを作成する必要がなくなります。
例
Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。API 操作の呼び出しや日常的な O&M の実行には、RAM ユーザーを使用することをお勧めします。AccessKey ID と AccessKey シークレットをプロジェクトコードにハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。例では、セキュリティトークンと AccessKey ペアは環境変数に保存されています。
(推奨) V4 署名アルゴリズムを使用する
AccessKey ペアのセキュリティを確保するために、クライアントを初期化する際に V4 署名アルゴリズムを使用することをお勧めします。V4 署名アルゴリズムの使用方法の詳細については、AccessKey ペアのセキュリティ を参照してください。
Java 向け Tablestore SDK V5.16.1 以降は、V4 署名アルゴリズムをサポートしています。V4 署名アルゴリズムを使用する前に、使用する SDK がこのアルゴリズムをサポートしていることを確認してください。
AccessKey ペアを使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
および TABLESTORE_ACCESS_KEY_SECRET
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String region = "yourRegion"; // リージョンを指定
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
final String v4SigningKey = ""; // V4 署名キー
final String v4StsSigningKey = ""; // V4 STS 署名キー
{
/**
* 例 1 (V4 署名アルゴリズムを使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築し、{@link V4Credentials } を生成します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);
/**
* {@link V4Credentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
{
/**
* 例 2 (V4 署名アルゴリズムを使用): AccessKey ID と派生キーを使用して {@link V4Credentials } を構築します。
*/
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String signDate = dateFormat.format(date); // signDate パラメータのサンプル値: 20230527
V4Credentials credentialsV4 = new V4Credentials(accessKeyId, v4SigningKey, v4StsSigningKey, region, signDate);
CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);
/**
* {@link V4Credentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
region | cn-hangzhou | インスタンスが存在するリージョンの ID。詳細については、リージョン を参照してください。 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペア。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") |
STS を使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
、TABLESTORE_ACCESS_KEY_SECRET
、および TABLESTORE_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String region = "yourRegion"; // リージョンを指定
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
final String secretAccessKey = System.getenv("TABLESTORE_SESSION_TOKEN"); // セキュリティトークンを環境変数から取得
{
/**
* 例 1 (V4 署名アルゴリズムを使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築し、{@link V4Credentials } を生成します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, secretAccessKey);
V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);
/**
* {@link V4Credentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
region | cn-hangzhou | インスタンスが存在するリージョンの ID。詳細については、リージョン を参照してください。 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペアとセキュリティトークン。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") | |
securityToken | System.getenv("TABLESTORE_SESSION_TOKEN") |
V2 署名アルゴリズム
AccessKey ペアを使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
および TABLESTORE_ACCESS_KEY_SECRET
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
{
/**
* 例 1 (V2 署名アルゴリズム (元の認証方法) を使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
CredentialsProvider provider = new DefaultCredentialProvider(credentials);
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// TableStore クライアントをシャットダウン
// 必要な処理を実行
client.shutdown();
}
{
/**
* 例 2 (V2 署名アルゴリズム (元の認証方法) を使用): 認証情報プロバイダー {@link EnvironmentVariableCredentialsProvider } を使用して環境変数を読み取ります。
*/
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, credentialsProvider, instanceName, null, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペア。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") |
STS を使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
、TABLESTORE_ACCESS_KEY_SECRET
、および TABLESTORE_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN"); // セキュリティトークンを環境変数から取得
{
/**
* 例 1 (V2 署名アルゴリズム (元の認証方法) を使用): 元の AccessKey ID、AccessKey シークレット、およびセキュリティトークンを使用して {@link DefaultCredentials } を構築します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
CredentialsProvider provider = new DefaultCredentialProvider(credentials);
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
{
/**
* 例 2 (V2 署名アルゴリズム (元の認証方法) を使用): 認証情報プロバイダー {@link EnvironmentVariableCredentialsProvider } を使用して環境変数を読み取ります。
*/
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
SyncClient client = new SyncClient(endpoint, credentialsProvider, instanceName, null, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペアとセキュリティトークン。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") | |
securityToken | System.getenv("TABLESTORE_SESSION_TOKEN") |
TimeseriesClient インスタンスを初期化する
Java 向け Tablestore SDK を使用して 時系列モデル を使用する場合、TimeseriesClient インスタンスを作成し、TimeseriesClient インスタンスの操作を呼び出して Tablestore にアクセスする必要があります。時系列モデルの場合は、TimeseriesClient インスタンスを個別に初期化する必要があります。
Java 向け Tablestore SDK は、TimeseriesClient メソッドと AsyncTimeseriesClient メソッドを提供しています。TimeseriesClient メソッドを使用して同期操作を実行し、AsyncTimeseriesClient メソッドを使用して非同期操作を実行できます。
例
Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。API 操作の呼び出しや日常的な O&M の実行には、RAM ユーザーを使用することをお勧めします。AccessKey ID と AccessKey シークレットをプロジェクトコードにハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。例では、セキュリティトークンと AccessKey ペアは環境変数に保存されています。
(推奨) V4 署名アルゴリズムを使用する
AccessKey ペアのセキュリティを確保するために、クライアントを初期化する際に V4 署名アルゴリズムを使用することをお勧めします。V4 署名アルゴリズムの使用方法の詳細については、AccessKey ペアのセキュリティ を参照してください。
Java 向け Tablestore SDK V5.16.1 以降は、V4 署名アルゴリズムをサポートしています。V4 署名アルゴリズムを使用する前に、使用する SDK がこのアルゴリズムをサポートしていることを確認してください。
AccessKey ペアを使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
および TABLESTORE_ACCESS_KEY_SECRET
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String region = "yourRegion"; // リージョンを指定
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
/**
* 例 (V4 署名アルゴリズムを使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築し、{@link V4Credentials } を生成します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);
/**
* {@link V4Credentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
region | cn-hangzhou | インスタンスが存在するリージョンの ID。詳細については、リージョン を参照してください。 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペア。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") |
STS を使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
、TABLESTORE_ACCESS_KEY_SECRET
、および TABLESTORE_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String region = "yourRegion"; // リージョンを指定
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN"); // セキュリティトークンを環境変数から取得
/**
* 例 (V4 署名アルゴリズムを使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築し、{@link V4Credentials } を生成します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);
/**
* {@link V4Credentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
region | cn-hangzhou | インスタンスが存在するリージョンの ID。詳細については、リージョン を参照してください。 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペアとセキュリティトークン。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") | |
securityToken | System.getenv("TABLESTORE_SESSION_TOKEN") |
V2 署名アルゴリズム
AccessKey ペアを使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
および TABLESTORE_ACCESS_KEY_SECRET
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
{
/**
* 例 1 (V2 署名アルゴリズム (元の認証方法) を使用): 元の AccessKey ID と AccessKey シークレットを使用して {@link DefaultCredentials } を構築します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
CredentialsProvider provider = new DefaultCredentialProvider(credentials);
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
{
/**
* 例 2 (V2 署名アルゴリズム (元の認証方法) を使用): 認証情報プロバイダー {@link EnvironmentVariableCredentialsProvider } を使用して環境変数を読み取ります。
*/
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, credentialsProvider, instanceName, null, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペア。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") |
STS を使用する
サンプルコードを実行する前に、TABLESTORE_ACCESS_KEY_ID
、TABLESTORE_ACCESS_KEY_SECRET
、および TABLESTORE_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報を設定する を参照してください。
final String endpoint = "yourEndpoint"; // エンドポイントを指定
final String instanceName = "yourInstance"; // インスタンス名を指定
final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID"); // AccessKey ID を環境変数から取得
final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET"); // AccessKey Secret を環境変数から取得
final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN"); // セキュリティトークンを環境変数から取得
{
/**
* 例 1 (V2 署名アルゴリズム (元の認証方法) を使用): 元の AccessKey ID、AccessKey シークレット、およびセキュリティトークンを使用して {@link DefaultCredentials } を構築します。
*/
DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
CredentialsProvider provider = new DefaultCredentialProvider(credentials);
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));
// ClientConfiguration は複数の設定項目を提供します。次の例には、いくつかのカスタム設定項目が含まれています。
// ClientConfiguration clientConfiguration = new ClientConfiguration();
// clientConfiguration.setConnectionTimeoutInMillisecond(5000); // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setSocketTimeoutInMillisecond(5000); // ソケットタイムアウト期間を指定します。単位: ミリ秒。
// clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。
// TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
{
/**
* 例 2 (V2 署名アルゴリズム (元の認証方法) を使用): 認証情報プロバイダー {@link EnvironmentVariableCredentialsProvider } を使用して環境変数を読み取ります。
*/
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
/**
* {@link DefaultCredentials } を使用して TableStore クライアントを初期化します。
*/
TimeseriesClient client = new TimeseriesClient(endpoint, credentialsProvider, instanceName, null, new ResourceManager(null, null));
// 必要な処理を実行
// TableStore クライアントをシャットダウン
client.shutdown();
}
次の表にパラメータを示します。
パラメータ | 例 | 説明 |
endPoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | Tablestore インスタンスにアクセスするために使用されるエンドポイント。詳細については、Tablestore インスタンスのエンドポイントを取得する を参照してください。 |
instanceName | myinstance | インスタンスの名前。詳細については、インスタンス を参照してください。 |
accessKeyId | System.getenv("TABLESTORE_ACCESS_KEY_ID") | 環境変数から取得した AccessKey ペアとセキュリティトークン。環境変数が設定されていることを確認してください。 |
accessKeySecret | System.getenv("TABLESTORE_ACCESS_KEY_SECRET") | |
securityToken | System.getenv("TABLESTORE_SESSION_TOKEN") |