All Products
Search
Document Center

:Akses Tablestore dengan pasangan AccessKey pengguna RAM

Last Updated:Aug 18, 2026

Resource Access Management (RAM) membantu Anda mengelola identitas pengguna dan izin akses ke resource. Untuk keamanan yang lebih baik, menggunakan pasangan AccessKey pengguna RAM untuk mengakses resource Tablestore lebih aman dibandingkan menggunakan kredensial akun Alibaba Cloud Anda. Topik ini menjelaskan cara menggunakan pasangan AccessKey pengguna RAM untuk mengakses resource Tablestore.

Latar Belakang

RAM user adalah jenis identitas dalam Resource Access Management (RAM). Anda dapat membuat pengguna RAM di bawah akun Alibaba Cloud Anda dan memberikan izin tertentu kepada mereka. Hal ini memungkinkan pengguna RAM yang berbeda memiliki tingkat akses yang berbeda terhadap resource Anda.

Prosedur

Untuk mengakses Tablestore dengan pasangan AccessKey pengguna RAM, buat pengguna RAM, berikan izin kepada pengguna tersebut untuk mengakses Tablestore, lalu gunakan Tablestore milik pengguna tersebut untuk mengakses resource Tablestore.

Langkah 1: Buat pengguna RAM

  1. Login ke RAM console menggunakan akun Alibaba Cloud Anda atau pengguna RAM yang memiliki izin administratif.

  2. Pada panel navigasi di sebelah kiri, pilih Identities > Users.

  3. Pada halaman Users, klik Create User.

  4. Pada halaman Create User, pada bagian User Account Information, konfigurasikan informasi dasar pengguna:

    • Logon Name: Nama login dapat berisi huruf, angka, titik (.), tanda hubung (-), dan garis bawah (_). Panjangnya maksimal 64 karakter.

    • Display Name: Nama tampilan dapat memiliki panjang hingga 128 karakter.

    • Tag: Klik ikon edit dan masukkan kunci tag serta nilai tag. Menambahkan tag membantu Anda menemukan dan mengelola pengguna RAM.

    Catatan

    Anda dapat mengklik Add User untuk membuat beberapa pengguna RAM sekaligus.

  5. Pada bagian Access Mode, pilih Programmatic Access, lalu klik OK.

    Catatan

    Untuk mengizinkan pengguna RAM login ke Alibaba Cloud Management Console, pilih Console Access.

  6. Pada kolom Actions, klik Copy untuk menyimpan informasi pengguna RAM. Anda juga dapat menyalin ID AccessKey dan rahasia AccessKey secara terpisah.

    Penting

    Rahasia AccessKey hanya ditampilkan sekali saat pembuatan dan tidak dapat diambil kembali nanti. Segera simpan di lokasi yang aman.

Langkah 2: Berikan izin pengguna RAM untuk Tablestore

Setelah membuat pengguna RAM, Anda harus memberikan izin kepada pengguna tersebut untuk mengakses Tablestore.

Kebijakan default

Contoh ini menunjukkan cara memberikan izin pengguna RAM untuk mengakses Tablestore dengan menyambungkan kebijakan AliyunOTSFullAccess.

Catatan

Kebijakan AliyunOTSFullAccess memberikan akses penuh ke Tablestore. Anda juga dapat memberikan izin menggunakan kebijakan default lainnya:

  • Untuk akses read-only, berikan kebijakan AliyunOTSReadOnlyAccess kepada pengguna RAM.

  • Untuk akses write-only, berikan kebijakan AliyunOTSWriteOnlyAccess kepada pengguna RAM.

  1. Pada panel navigasi di sebelah kiri, pilih Identities > Users.

  2. Pada halaman Users, temukan pengguna RAM yang dituju.

  3. Klik Add Permissions pada kolom Actions untuk pengguna RAM tersebut.

  4. Pada panel Grant Permission, pada bagian Policy, cari dan pilih AliyunOTSFullAccess.

  5. Klik Grant Permissions.

Kebijakan kustom

  1. Buat kebijakan kustom.

    1. Pada panel navigasi di sebelah kiri, pilih Permissions > Policies.

    2. Pada halaman Policies, klik Create Policy.

    3. Pada halaman Create Policy, klik tab JSON, masukkan skrip kebijakan Anda di editor, lalu klik OK.

      Catatan

      Skrip contoh berikut memberikan izin kepada pengguna RAM untuk mengakses satu instans. Anda dapat menyesuaikan kebijakan untuk mengontrol akses pada level tabel atau operasi API, atau berdasarkan kondisi seperti alamat IP atau waktu akses. Untuk informasi lebih lanjut tentang kebijakan RAM, lihat Custom RAM policy.

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "ots:*",
            "Resource": "acs:ots:*:*:instance/your_instance_name*"
          }
        ]
      }
    4. Pada dialog Create Policy, masukkan nama kebijakan, misalnya TestRAMPolicy, lalu klik OK.

  2. Sambungkan kebijakan kustom ke pengguna RAM.

    1. Pada panel navigasi di sebelah kiri, pilih Identities > Users.

    2. Pada halaman Users, temukan pengguna RAM yang dituju.

    3. Klik Add Permissions pada kolom Actions untuk pengguna RAM tersebut.

    4. Pada panel Grant Permission, pada bagian Policy, cari dan pilih kebijakan kustom yang telah Anda buat.

    5. Klik Grant Permissions.

Pada halaman Users, Anda dapat mengklik nama pengguna untuk membuka halaman detail pengguna. Pada tab Permissions, Anda dapat melihat kebijakan yang diberikan kepada pengguna tersebut.

Langkah 3: Gunakan pasangan AccessKey untuk mengakses Tablestore

Sebelum memulai

  1. Buat instans dan tabel data di Tablestore console.

  2. Dapatkan nama instans, endpoint, dan region ID.

    Penting

    Secara default, akses jaringan publik dinonaktifkan untuk instans yang baru dibuat. Jika Anda perlu mengakses resource dalam instans melalui internet, Anda harus mengaktifkan akses jaringan publik untuk instans tersebut.

  3. Konfigurasikan variabel lingkungan. Setelah konfigurasi selesai, restart atau refresh lingkungan kompilasi dan runtime Anda, termasuk IDE, command-line interface, aplikasi desktop lainnya, dan layanan latar belakang agar variabel lingkungan sistem terbaru berhasil dimuat.

    Linux
    1. Jalankan perintah berikut di command-line interface untuk menambahkan pengaturan variabel lingkungan ke file ~/.bashrc.

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
    2. Jalankan perintah berikut agar perubahan berlaku:

      source ~/.bashrc
    3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET
    macOS
    1. Jalankan perintah berikut di terminal untuk memeriksa jenis Shell default.

      echo $SHELL
    2. Lakukan operasi berdasarkan jenis Shell default.

      Zsh
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.zshrc.

        echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
        echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
      2. Jalankan perintah berikut agar perubahan berlaku:

        source ~/.zshrc
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:

        echo $TABLESTORE_ACCESS_KEY_ID
        echo $TABLESTORE_ACCESS_KEY_SECRET
      Bash
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.bash_profile.

        echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile
        echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile
      2. Jalankan perintah berikut agar perubahan berlaku:

        source ~/.bash_profile
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:

        echo $TABLESTORE_ACCESS_KEY_ID
        echo $TABLESTORE_ACCESS_KEY_SECRET
    Windows
    CMD
    1. Jalankan perintah berikut di CMD untuk mengatur variabel lingkungan.

      setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
      setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
    2. Setelah merestart CMD, jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:

      echo %TABLESTORE_ACCESS_KEY_ID%
      echo %TABLESTORE_ACCESS_KEY_SECRET%
    PowerShell
    1. Jalankan perintah berikut di PowerShell:

      [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
    2. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:

      [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
  4. Instal Tablestore SDK untuk bahasa pemrograman pilihan Anda.

    Java

    Jika Anda menggunakan proyek Maven, tambahkan dependensi berikut ke file pom.xml Anda:

    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>tablestore</artifactId>
        <version>5.17.4</version>
    </dependency>                 

    Untuk informasi lebih lanjut, lihat Install Tablestore SDK for Java.

    Go

    Jalankan perintah go mod init <DIRNAME> di direktori proyek untuk menghasilkan file go.mod. Kemudian, jalankan perintah berikut untuk menginstal Tablestore SDK untuk Go:

    Catatan

    <DIRNAME> menunjukkan path direktori proyek. Ganti <DIRNAME> dengan path direktori proyek aktual.

    go get github.com/aliyun/aliyun-tablestore-go-sdk/tablestore

    Untuk informasi lebih lanjut, lihat Install Tablestore SDK for Go.

    Python

    Jalankan perintah berikut untuk menggunakan pip menginstal Tablestore SDK for Python:

    sudo pip install tablestore

    Untuk informasi lebih lanjut, lihat Install Tablestore SDK for Python.

    Node.js

    Jalankan perintah berikut untuk menginstal Tablestore SDK for Node.js:

    npm install tablestore

    Untuk informasi lebih lanjut, lihat Install Tablestore SDK for Node.js.

    .NET

    Untuk informasi lebih lanjut, lihat Install Tablestore .NET SDK.

    PHP

    Untuk informasi lebih lanjut, lihat Install Tablestore PHP SDK.

Model kolom lebar

Untuk menggunakan model kolom lebar, inisialisasi client dengan pasangan AccessKey pengguna RAM.

Java
Signature V4

Kode contoh Java berikut menunjukkan cara menggunakan signature V4 untuk menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.SyncClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.core.auth.V4Credentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.ListTableResponse;

public class InitClientV4 {
    public static void main(String[] args) {
        // Ganti yourRegion dengan wilayah tempat instans Anda berada, misalnya cn-hangzhou.
        final String region = "yourRegion";
        // Ganti yourInstanceName dengan nama instans Anda.
        final String instanceName = "yourInstanceName";
        // Ganti yourEndpoint dengan endpoint instans Anda.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");

        // Bangun signature V4.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
        CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);

        // Inisialisasi client Tablestore.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menentukan ClientConfiguration untuk mengubah pengaturan default. Contoh berikut menunjukkan beberapa pengaturan kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Atur periode timeout koneksi dalam milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Atur periode timeout socket dalam milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Atur kebijakan retry. Jika kebijakan retry tidak diatur, kebijakan retry default akan digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Daftar tabel data dalam instans dan cetak namanya ke konsol.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

        // Matikan client Tablestore.
        client.shutdown();
    }
}
Signature V2

Kode contoh Java berikut menunjukkan cara menggunakan signature V2 untuk menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.SyncClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.ListTableResponse;

public class InitClientV2 {
    public static void main(String[] args) {
        // Ganti yourInstanceName dengan nama instans Anda.
        final String instanceName = "yourInstanceName";
        // Ganti yourEndpoint dengan endpoint instans Anda.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");

        // Bangun signature V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

        // Inisialisasi client Tablestore.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menentukan ClientConfiguration untuk mengubah pengaturan default. Contoh berikut menunjukkan beberapa pengaturan kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Atur periode timeout koneksi dalam milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Atur periode timeout socket dalam milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Atur kebijakan retry. Jika kebijakan retry tidak diatur, kebijakan retry default akan digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Daftar tabel data dalam instans dan cetak namanya ke konsol.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

        // Matikan client Tablestore.
        client.shutdown();
    }
}
Go

Kode contoh Go berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

package main

import (
	"fmt"
	"os"
	"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)

func main() {
	// Ganti yourInstanceName dengan nama instans Anda.
	instanceName := "yourInstanceName"
	// Ganti yourEndpoint dengan endpoint instans Anda.
	endpoint := "yourEndpoint"
	// Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
	accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
	accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")

	// Inisialisasi client Tablestore.
	client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)	

	// Daftar tabel data dalam instans dan cetak namanya ke konsol.
	tables, err := client.ListTable()
    if err != nil {
        fmt.Println("Failed to list table")
    } else {
        for _, table := range (tables.TableNames) {
            fmt.Println(table)
        }
    }
}
Python

Kode contoh Python berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient

# Ganti yourInstanceName dengan nama instans Anda.
instance_name = "yourInstanceName"
# Ganti yourEndpoint dengan endpoint instans Anda.
endpoint = "yourEndpoint"
# Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")

# Inisialisasi client Tablestore.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)

# Daftar tabel data dalam instans dan cetak namanya ke konsol.
resp = client.list_table()
for table_name in resp:
    print(table_name)
Node.js

Kode contoh Node.js berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

// Ini adalah path relatif. Sesuaikan berdasarkan struktur file aktual Anda.
var TableStore = require('../index.js');

// Ganti yourInstanceName dengan nama instans Anda.
var instancename = 'yourInstanceName';
// Ganti yourEndpoint dengan endpoint instans Anda.
var endpoint = 'yourEndpoint';
// Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
var accessKeyId = process.env.TABLESTORE_ACCESS_KEY_ID;
var secretAccessKey = process.env.TABLESTORE_ACCESS_KEY_SECRET;

// Inisialisasi client Tablestore.
var client = new TableStore.Client({
  accessKeyId: accessKeyId,
  secretAccessKey: secretAccessKey,
  endpoint: endpoint,
  instancename: instancename 
});

// Daftar tabel data dalam instans dan cetak namanya ke konsol.
client.listTable({}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', data);
});  
.NET

Kode contoh .NET berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

using Aliyun.OTS.Request;
using Aliyun.OTS.Response;
using System;

namespace Aliyun.OTS.Samples
{
    public class Sample
    {
        public static void InitializeClient()
        {
            // Ganti yourEndpoint dengan endpoint instans Anda.
            string endpoint = "yourEndpoint";
            // Ganti yourInstanceName dengan nama instans Anda.
            string instanceName = "yourInstanceName";
            // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
            string accessKeyId = Environment.GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID");
            string accessKeySecret = Environment.GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET");
            OTSClientConfig config = new OTSClientConfig(endpoint, accessKeyId, accessKeySecret, instanceName)
            {
                OTSDebugLogHandler = null,
                OTSErrorLogHandler = null
            };

            try
            {
                // Inisialisasi client Tablestore.
                OTSClient client = new OTSClient(config);
                // Daftar tabel data dalam instans dan cetak namanya.
                ListTableResponse response = client.ListTable(new ListTableRequest());
                foreach (var tableName in response.TableNames)
                {
                    Console.WriteLine(tableName);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("List table failed, exception:{0}", ex.Message);
            }
        }
    }
}
PHP

Kode contoh PHP berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel data dalam sebuah instans.

<?php
// Ini adalah path relatif. Sesuaikan berdasarkan struktur file aktual Anda.
require (__DIR__ . '/../../vendor/autoload.php');

use Aliyun\OTS\OTSClient as OTSClient;

// Ganti yourInstanceName dengan nama instans Anda.
$instanceName = "yourInstanceName";
// Ganti yourEndpoint dengan endpoint instans Anda.
$endpoint = "yourEndpoint";
// Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan sistem.
$accessKeyId = getenv('TABLESTORE_ACCESS_KEY_ID');
$accessKeySecret = getenv('TABLESTORE_ACCESS_KEY_SECRET');

// Inisialisasi client Tablestore.
$client = new OTSClient(array(
    'EndPoint' => $endpoint,
    'AccessKeyID' => $accessKeyId,
    'AccessKeySecret' => $accessKeySecret,
    'InstanceName' => $instanceName,
));

// Daftar tabel data dalam instans dan cetak namanya ke konsol.
$response = $client->listTable (array ());
print json_encode ($response);

Model deret waktu

Untuk menggunakan model deret waktu, inisialisasi client dengan pasangan AccessKey pengguna RAM. Saat ini, model deret waktu didukung oleh SDK untuk Java, Go, dan Python.

Java
Signature V4

Kode contoh Java berikut menunjukkan cara menggunakan signature V4 untuk menginisialisasi client dan mengambil nama semua tabel deret waktu dalam sebuah instans.

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.TimeseriesClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.core.auth.V4Credentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.timeseries.ListTimeseriesTableResponse;

public class InitTimeseriesClientV4 {
    public static void main(String[] args) {
        // Ganti yourRegion dengan wilayah tempat instans Anda berada, misalnya cn-hangzhou.
        final String region = "yourRegion";
        // Ganti yourInstanceName dengan nama instans Anda.
        final String instanceName = "yourInstanceName";
        // Ganti yourEndpoint dengan endpoint instans Anda.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");

        // Bangun signature V4.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
        CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);

        // Inisialisasi client Tablestore.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menentukan ClientConfiguration untuk mengubah pengaturan default. Contoh berikut menunjukkan beberapa pengaturan kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Atur periode timeout koneksi dalam milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Atur periode timeout socket dalam milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Atur kebijakan retry. Jika kebijakan retry tidak diatur, kebijakan retry default akan digunakan.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Daftar tabel deret waktu dalam instans dan cetak namanya ke konsol.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

        // Matikan client Tablestore.
        client.shutdown();
    }
}
Signature V2

Kode contoh Java berikut menunjukkan cara menggunakan signature V2 untuk menginisialisasi client dan mengambil nama semua tabel deret waktu dalam sebuah instans.

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.TimeseriesClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.timeseries.ListTimeseriesTableResponse;

public class InitTimeseriesClientV2 {
    public static void main(String[] args) {
        // Ganti yourInstanceName dengan nama instans Anda.
        final String instanceName = "yourInstanceName";
        // Ganti yourEndpoint dengan endpoint instans Anda.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");

        // Bangun signature V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

        // Inisialisasi client Tablestore.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menentukan ClientConfiguration untuk mengubah pengaturan default. Contoh berikut menunjukkan beberapa pengaturan kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Atur periode timeout koneksi dalam milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Atur periode timeout socket dalam milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Atur kebijakan retry. Jika kebijakan retry tidak diatur, kebijakan retry default akan digunakan.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Daftar tabel deret waktu dalam instans dan cetak namanya ke konsol.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

        // Matikan client Tablestore.
        client.shutdown();
    }
}
Go

Kode contoh Go berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel deret waktu dalam sebuah instans.

package main

import (
	"fmt"
	"os"
	"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)

func main() {
	// Ganti yourInstanceName dengan nama instans Anda.
	instanceName := "yourInstanceName"
	// Ganti yourEndpoint dengan endpoint instans Anda.
	endpoint := "yourEndpoint"
	// Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
	accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
	accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")

	// Inisialisasi client Tablestore.
	client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)	

	// Daftar tabel deret waktu dalam instans dan cetak namanya ke konsol.
	timeseriesTables, err := client.ListTimeseriesTable()
    if err != nil {
        fmt.Println("Failed to list table")
    } else {
        for _, timeseriesTablesMeta := range (timeseriesTables.GetTimeseriesTableMeta()) {
            fmt.Println(timeseriesTablesMeta.GetTimeseriesTableName())
        }
    }
}
Python

Kode contoh Python berikut menunjukkan cara menginisialisasi client dan mengambil nama semua tabel deret waktu dalam sebuah instans.

# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient

# Ganti yourInstanceName dengan nama instans Anda.
instance_name = "yourInstanceName"
# Ganti yourEndpoint dengan endpoint instans Anda.
endpoint = "yourEndpoint"
# Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")

# Inisialisasi client Tablestore.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)

# Daftar tabel deret waktu dalam instans dan cetak namanya ke konsol.
response = client.list_timeseries_table()
for tableMeta in response:
    print(tableMeta.timeseries_table_name)

FAQ

Pasangan AccessKey hilang

Anda dapat membuat pasangan AccessKey kedua untuk rotasi. Setelah memverifikasi bahwa pasangan baru berfungsi, Anda dapat menghapus yang lama. Untuk informasi lebih lanjut, lihat Rotate the AccessKey pair of a RAM user.

Pasangan AccessKey yang dikelola pengguna

Di RAM console, buka halaman Settings. Di bagian Global Security, aktifkan pengaturan Allow Users to Manage Their Access Keys. Setelah pengaturan ini diaktifkan, pengguna RAM dapat membuat, menonaktifkan, dan menghapus pasangan AccessKey mereka sendiri. Untuk informasi lebih lanjut, lihat Manage security settings for RAM users dan Create an AccessKey pair.

Error penolakan kebijakan ACL

Jenis jaringan yang digunakan oleh client tidak memenuhi persyaratan akses jaringan instans. Anda perlu mengatur parameter Allowed Network Type pada tab Network Management halaman Instance Details di Tablestore console. Untuk informasi lebih lanjut, lihat "Request denied by instance ACL policies" error when you use an SDK to access Tablestore.