TableStoreClient は Tablestore のクライアントです。TableStoreClient は、テーブルを管理し、単一行または複数行に対する読み取りおよび書き込み操作を実行するためのさまざまなメソッドを提供します。ワイドカラムモデルでテーブルを管理し、単一行または複数行に対する読み取りおよび書き込み操作を実行する場合は、TableStoreClient インスタンスを初期化する必要があります。時系列テーブルの管理、時系列のクエリ、および時系列モデルでの時系列データの読み取りと書き込みを行う場合は、TimeseriesClient インスタンスを初期化する必要があります。
準備
OTSClient インスタンスを初期化する前に、Tablestore インスタンスのエンドポイントを取得し、Tablestore Go SDK をインストールし、アクセス認証情報を設定する必要があります。
Tablestore インスタンスのエンドポイントの取得
Tablestore Go SDK のインストール
アクセス認証情報の設定
TableStoreClient インスタンスの初期化
Tablestore Go SDK を使用してワイドカラムモデルのテーブルを管理するには、TableStoreClient インスタンスを作成し、TableStoreClient インスタンスの操作を呼び出して Tablestore にアクセスする必要があります。
API 操作
// TableStoreClient インスタンスを初期化します。
// endPoint: Tablestore インスタンスにアクセスするために使用されるエンドポイント。エンドポイントは https:// または http:// で始まる必要があります。例: https://instance.cn-hangzhou.ots.aliyun.com。
// instanceName: アクセスする Tablestore インスタンスの名前。Tablestore コンソールでインスタンスを作成するか、管理者に連絡して既存のインスタンスの名前を取得できます。
// accessKeyId: Tablestore インスタンスにアクセスするために使用されるアクセスキー ID。アクセスキー ID を取得するには、Alibaba Cloud の公式 Web サイトにアクセスするか、管理者に連絡してください。
// accessKeySecret: Tablestore インスタンスにアクセスするために使用されるアクセスキーシークレット。アクセスキーシークレットを取得するには、Alibaba Cloud の公式 Web サイトにアクセスするか、管理者に連絡してください。
// securityToken: Tablestore インスタンスにアクセスするために使用される STS トークン。Alibaba Cloud STS を使用して STS トークンを取得できます。STS トークンには有効期限があります。既存のトークンの有効期限が切れたら、新しいトークンを取得する必要があります。
// config: Tablestore のカスタム設定項目。ビジネス要件に基づいてカスタム設定項目を指定できます。
func NewClient(endPoint, instanceName, accessKeyId, accessKeySecret string, options ...ClientOption) *TableStoreClient
func NewClientWithConfig(endPoint, instanceName, accessKeyId, accessKeySecret string, securityToken string, config *TableStoreConfig, options ...ClientOption) *TableStoreClient
例
Alibaba Cloud アカウントのアクセスキーペアは、すべての API 操作に対する権限を持っています。API 操作の呼び出しや日常的な O&M の実行には、RAM ユーザーを使用することをお勧めします。アクセスキー ID とアクセスキーシークレットをプロジェクトコードにハードコードしないことをお勧めします。そうしないと、アクセスキーペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。例では、アクセスキーペアとセキュリティトークンは環境変数に保存されています。
アクセスキーペアの使用
サンプルコードを実行する前に、OTS_AK_ENV
および OTS_SK_ENV
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報の設定 を参照してください。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
// tableStore クライアントの初期化
client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// 処理を実行
STS の使用
サンプルコードを実行する前に、OTS_AK_ENV
、OTS_SK_ENV
、および OTS_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報の設定 を参照してください。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
securityToken := os.Getenv("OTS_SESSION_TOKEN")
config := tablestore.NewDefaultTableStoreConfig();
// tableStore クライアントの初期化
client := tablestore.NewClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, config)
// 処理を実行
TimeseriesClient インスタンスの初期化
Tablestore Go SDK を使用して時系列モデルのテーブルを管理するには、TimeseriesClient インスタンスを作成し、TimeseriesClient インスタンスの操作を呼び出して Tablestore にアクセスする必要があります。TimeseriesClient インスタンスは、時系列モデル用に個別に初期化する必要があります。
API 操作
// TimeseriesClient インスタンスを初期化します。
// endPoint: Tablestore インスタンスにアクセスするために使用されるエンドポイント。エンドポイントは https:// または http:// で始まる必要があります。例: https://instance.cn-hangzhou.ots.aliyun.com。
// accessKeyId: Tablestore インスタンスにアクセスするために使用されるアクセスキー ID。アクセスキー ID を取得するには、Alibaba Cloud の公式 Web サイトにアクセスするか、管理者に連絡してください。
// accessKeySecret: Tablestore インスタンスにアクセスするために使用されるアクセスキーシークレット。アクセスキーシークレットを取得するには、Alibaba Cloud の公式 Web サイトにアクセスするか、管理者に連絡してください。
// instanceName: アクセスする Tablestore インスタンスの名前。Tablestore コンソールでインスタンスを作成するか、管理者に連絡して既存のインスタンスの名前を取得できます。
// securityToken: Tablestore インスタンスにアクセスするために使用される STS トークン。Alibaba Cloud STS を使用して STS トークンを取得できます。STS トークンには有効期限があります。既存のトークンの有効期限が切れたら、新しいトークンを取得する必要があります。
// config: Tablestore のカスタム設定項目。ビジネス要件に基づいてカスタム設定項目を指定できます。
func NewTimeseriesClient(endPoint, instanceName, accessKeyId, accessKeySecret string , options ...TimeseriesClientOption) *TimeseriesClient
func NewTimeseriesClientWithConfig(endPoint, instanceName, accessKeyId, accessKeySecret string, securityToken string, config *TableStoreConfig, timeseriesConfiguration *TimeseriesConfiguration, options ...TimeseriesClientOption) *TimeseriesClient
例
Alibaba Cloud アカウントのアクセスキーペアは、すべての API 操作に対する権限を持っています。API 操作の呼び出しや日常的な O&M の実行には、RAM ユーザーを使用することをお勧めします。アクセスキー ID とアクセスキーシークレットをプロジェクトコードにハードコードしないことをお勧めします。そうしないと、アクセスキーペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。例では、アクセスキーペアとセキュリティトークンは環境変数に保存されています。
アクセスキーペアの使用
サンプルコードを実行する前に、OTS_AK_ENV
および OTS_SK_ENV
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報の設定 を参照してください。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
// tableStore クライアントの初期化
client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// 処理を実行
STS の使用
サンプルコードを実行する前に、OTS_AK_ENV
、OTS_SK_ENV
、および OTS_SESSION_TOKEN
環境変数が設定されていることを確認してください。詳細については、アクセス認証情報の設定 を参照してください。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
securityToken := os.Getenv("OTS_SESSION_TOKEN")
config := tablestore.NewDefaultTableStoreConfig();
timeseriesConfig := tablestore. NewTimeseriesConfiguration();
// tableStore クライアントの初期化
client := tablestore.NewTimeseriesClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, config, timeseriesConfig)
// 処理を実行
FAQ
Tablestore SDK を使用するときに「Signature mismatch」エラーが報告された場合はどうすればよいですか?