すべてのプロダクト
Search
ドキュメントセンター

Tablestore:OTSClient インスタンスの初期化

最終更新日:Dec 28, 2024

OTSClient は、テーブルの管理、単一行または複数行に対する読み取りおよび書き込み操作を実行するために使用できるさまざまなメソッドを提供する Tablestore クライアントです。ワイドカラムモデルを使用してデータテーブルを管理し、1 つ以上の行に対する読み取りおよび書き込み操作を実行する場合は、OTSClient インスタンスを初期化し、ビジネス要件に基づいて OTSClientConfig のデフォルト設定を変更する必要があります。時系列モデルを使用して時系列テーブルを管理し、時系列をクエリし、時系列データの読み取りと書き込みを行う場合は、TimeseriesClient インスタンスを初期化する必要があります。

使用上の注意

  • HTTPS 経由で Tablestore リソースにアクセスする場合は、Java 7 を使用してください。

  • Java 向け Tablestore SDK はマルチスレッドをサポートしています。タスクの複数スレッドを実行するには、同じ OTSClient オブジェクトを使用することをお勧めします。

準備

OTSClient インスタンスを初期化する前に、Tablestore インスタンスのエンドポイントを取得し、Java 向け Tablestore SDK をインストールし、アクセス認証情報を設定する必要があります。

Tablestore インスタンスのエンドポイントを取得する

Tablestore インスタンスを作成した後、インスタンスのエンドポイントを取得する必要があります。その後、エンドポイントを使用してインスタンスにアクセスできます。

エンドポイントは、リージョン内の Tablestore インスタンスにアクセスするために使用されるドメイン名です。たとえば、https://sun.cn-hangzhou.ots.aliyuncs.com は、中国 (杭州) リージョンにある sun という名前のインスタンスに HTTPS 経由でアクセスするために使用されるパブリックエンドポイントです。詳細については、エンドポイント を参照してください。

重要

パブリックエンドポイントとインターナルエンドポイントを使用して Tablestore にアクセスできます。

  1. Tablestore サービスがアクティブ化されていない場合は、アクティブ化します。詳細については、Tablestore をアクティブ化する を参照してください。

  2. Tablestore インスタンスを作成します。詳細については、インスタンスを作成する を参照してください。

  3. 作成したインスタンスのエンドポイントを取得します。

    1. Tablestore コンソール にログインします。

    2. 概要ページで、作成したインスタンスを見つけ、インスタンスの名前をクリックします。

    3. インスタンスの詳細タブの インスタンスアクセス URL セクションで、インスタンスのエンドポイントを表示します。

      image

Java 向け Tablestore SDK をインストールする

詳細については、Java 向け Tablestore SDK をインストールする を参照してください。

アクセス認証情報を設定する

Tablestore にアクセスするには、身元を確認するための有効な AccessKey ペアが必要です。詳細については、アクセス認証情報を設定する を参照してください。

クライアントを初期化する

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_IDTABLESTORE_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_IDTABLESTORE_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_IDTABLESTORE_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_IDTABLESTORE_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")

FAQ

```java // ClientConfiguration provides multiple configuration items. The following example includes some custom configuration items. // ClientConfiguration を使用して、複数の設定項目を指定できます。次の例には、いくつかのカスタム設定項目が含まれています。 ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Specify the timeout period for establishing a connection. Unit: milliseconds. // 接続を確立するためのタイムアウト期間を指定します。単位: ミリ秒。 clientConfiguration.setSocketTimeoutInMillisecond(5000); // Specify the socket timeout period. Unit: milliseconds. // ソケットタイムアウト期間を指定します。単位: ミリ秒。 clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Configure a retry policy. If you do not configure a retry policy, the default retry policy is used. // 再試行ポリシーを設定します。再試行ポリシーを設定しない場合は、デフォルトの再試行ポリシーが使用されます。 SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null)); ```