全部产品
Search
文档中心

Tablestore:Gunakan Pasangan AccessKey dari Pengguna RAM untuk Mengakses Tablestore

更新时间:Nov 10, 2025

Anda dapat menggunakan Resource Access Management (RAM) untuk mengelola identitas pengguna dan izin akses ke sumber daya. Dibandingkan dengan Akun Alibaba Cloud, Pengguna RAM memberikan akses yang lebih aman ke sumber daya Tablestore. Topik ini menjelaskan cara menggunakan Pasangan AccessKey dari Pengguna RAM untuk mengakses sumber daya Tablestore.

Informasi Latar Belakang

Pengguna RAM merupakan identitas entitas nyata. Anda dapat membuat Pengguna RAM untuk Akun Alibaba Cloud dan memberikan izin akses ke berbagai sumber daya.

Prosedur

Sebelum menggunakan Pasangan AccessKey dari Pengguna RAM untuk mengakses Tablestore, Anda perlu membuat Pengguna RAM dan memberikan izin akses ke Tablestore. Setelah itu, Anda dapat menggunakan Pasangan AccessKey dari Pengguna RAM untuk mengirim permintaan guna mengakses sumber daya Tablestore.

Langkah 1: Buat pengguna RAM

  1. Masuk ke Konsol Resource Access Management (RAM) menggunakan Akun Alibaba Cloud atau Pengguna RAM dengan hak istimewa administrator.

  2. Di panel navigasi sebelah kiri, pilih Identities > Users.

  3. Pada halaman Users, klik Create User.

  4. Di bagian User Account Information pada halaman Create User, konfigurasikan parameter berikut:

    • Logon Name: Nama masuk dapat mencapai hingga 64 karakter dan dapat berisi huruf, angka, titik (.), tanda hubung (-), serta garis bawah (_).

    • Display Name: Nama tampilan dapat mencapai hingga 128 karakter.

    • Tag: Klik edit dan masukkan kunci tag serta nilai tag. Anda dapat menambahkan satu atau lebih tag ke Pengguna RAM untuk mengelola mereka berdasarkan tag tersebut.

    Catatan

    Anda dapat mengklik Add User untuk membuat beberapa Pengguna RAM secara bersamaan.

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

    Catatan

    Jika ingin masuk dan mengakses Konsol Manajemen Alibaba Cloud sebagai Pengguna RAM, pilih Console Access.

  6. Di kolom Actions, klik Copy untuk menyimpan informasi Pengguna RAM. Anda dapat menyalin ID AccessKey dan Rahasia AccessKey secara terpisah.

    Penting

    Rahasia AccessKey Pengguna RAM hanya ditampilkan saat pembuatan Pasangan AccessKey. Setelah halaman Buat Pengguna ditutup, Rahasia AccessKey tidak dapat diakses lagi. Pastikan untuk mencatat dan menyimpan Rahasia AccessKey di lokasi yang aman.

Langkah 2: Berikan Izin kepada Pengguna RAM untuk Mengakses Tablestore

Setelah membuat Pengguna RAM, Anda perlu memberikan izin kepada Pengguna RAM untuk mengakses Tablestore.

Gunakan Kebijakan Default

Dalam contoh ini, kebijakan AliyunOTSFullAccess dilampirkan kepada Pengguna RAM untuk memberikan izin mengakses Tablestore.

Catatan

Kebijakan AliyunOTSFullAccess mencakup izin akses penuh ke Tablestore. Anda juga dapat melampirkan kebijakan berikut kepada Pengguna RAM untuk memberikan izin spesifik sesuai kebutuhan:

  • Untuk memberikan akses read-only ke Tablestore bagi Pengguna RAM, lampirkan kebijakan AliyunOTSReadOnlyAccess.

  • Untuk memberikan akses write-only ke Tablestore bagi Pengguna RAM, lampirkan kebijakan AliyunOTSWriteOnlyAccess.

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

  2. Pada halaman Users, temukan Pengguna RAM yang ingin Anda lampirkan kebijakannya.

  3. Klik Add Permissions di kolom Tindakan Pengguna RAM.

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

  5. Klik Grant Permissions.

Gunakan 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 dalam dokumen kebijakan, lalu klik OK.

      Catatan

      Skrip sampel berikut memberikan izin kepada Pengguna RAM untuk mengakses instans tertentu. Anda dapat menentukan skrip kebijakan kustom sesuai kebutuhan. Misalnya, Anda dapat memberikan izin kepada Pengguna RAM untuk mengakses tabel atau memanggil Operasi API, atau izin untuk mengakses Tablestore hanya dari alamat IP tertentu atau sebelum waktu tertentu. Untuk informasi lebih lanjut tentang kebijakan RAM, lihat Buat kebijakan kustom.

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

  2. Lampirkan kebijakan kustom ke Pengguna RAM.

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

    2. Pada halaman Users, temukan Pengguna RAM yang ingin Anda lampirkan kebijakan kustomnya.

    3. Klik Add Permissions di kolom Tindakan Pengguna RAM.

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

    5. Klik Grant Permissions.

Di halaman Pengguna, klik nama Pengguna RAM untuk membuka halaman detail pengguna. Pada tab Permissions di halaman detail pengguna, Anda dapat melihat kebijakan yang dilampirkan ke Pengguna RAM.

image

Langkah 3: Gunakan Pasangan AccessKey dari Pengguna RAM untuk Mengakses Tablestore

Persiapan

  1. Buat instans dan tabel data di Konsol Tablestore.

  2. Peroleh nama, Titik akhir, dan ID Wilayah dari instans.

    Penting

    Secara default, akses berbasis Internet dinonaktifkan untuk instans baru. Jika Anda ingin mengakses sumber daya dalam instans melalui Internet, Anda harus mengaktifkan akses berbasis Internet untuk instans.

  3. Konfigurasikan variabel lingkungan. Setelah konfigurasi selesai, mulai ulang atau segarkan lingkungan kompilasi dan runtime Anda, termasuk IDE, antarmuka baris perintah, aplikasi desktop lainnya, dan layanan latar belakang untuk memastikan bahwa variabel lingkungan sistem terbaru berhasil dimuat.

    Linux
    1. Jalankan perintah berikut di antarmuka baris perintah 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 untuk memungkinkan perubahan berlaku:

      source ~/.bashrc
    3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan 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 untuk memungkinkan perubahan berlaku:

        source ~/.zshrc
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan 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 untuk memungkinkan perubahan berlaku:

        source ~/.bash_profile
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan 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 memulai ulang CMD, jalankan perintah berikut untuk memeriksa apakah variabel lingkungan 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 berlaku:

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

    Java

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

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

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk Java.

    Go

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

    Catatan

    <DIRNAME> menunjukkan jalur direktori proyek. Ganti <DIRNAME> dengan jalur direktori proyek sebenarnya.

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

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk Go.

    Python

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

    sudo pip install tablestore

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk Python.

    Node.js

    Gunakan npm untuk menjalankan perintah berikut guna menginstal SDK Tablestore untuk Node.js:

    npm install tablestore

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk Node.js.

    .NET

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk .NET.

    PHP

    Untuk informasi lebih lanjut, lihat Instal SDK Tablestore untuk PHP.

Model Kolom Lebar

Saat menggunakan Model Kolom Lebar, Anda harus menggunakan Pasangan AccessKey dari Pengguna RAM untuk menginisialisasi klien untuk Model Kolom Lebar dan memulai permintaan.

Java
(Direkomendasikan) Gunakan Tanda Tangan V4

Kode Java sampel berikut memberikan contoh cara menggunakan tanda tangan V4 untuk menginisialisasi klien dan menanyakan daftar tabel data dalam 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) {
        // Tentukan wilayah tempat instans yang ingin Anda akses berada. Contoh: cn-hangzhou.
        final String region = "yourRegion";
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        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");

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

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

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membuat koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

        // Matikan klien Tablestore.
        client.shutdown();
    }
}
Gunakan Tanda Tangan V2

Kode Java sampel berikut memberikan contoh cara menggunakan tanda tangan V2 untuk menginisialisasi klien dan menanyakan daftar tabel data dalam 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) {
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        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");

        // Buat tanda tangan V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

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

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membuat koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

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

Kode Go sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

package main

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

func main() {
	// Tentukan nama instans.
	instanceName := "yourInstanceName"
	// Tentukan titik akhir instans.
	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 klien.
	client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)	

	// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
	tables, err := client.ListTable()
    if err != nil {
        fmt.Println("Gagal menanyakan tabel")
    } else {
        for _, table := range (tables.TableNames) {
            fmt.Println(table)
        }
    }
}
Python

Kode Python sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

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

# Tentukan nama instans.
instance_name = "yourInstanceName"
# Tentukan titik akhir instans.
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 klien.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)

# Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
resp = client.list_table()
for table_name in resp:
    print(table_name)
Node.js

Kode Node.js sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

// Dalam contoh ini, jalurnya adalah jalur relatif. Modifikasi jalur sesuai kebutuhan.
var TableStore = require('../index.js');

// Tentukan nama instans.
var instancename = 'yourInstanceName';
// Tentukan titik akhir instans.
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 klien.
var client = new TableStore.Client({
  accessKeyId: accessKeyId,
  secretAccessKey: secretAccessKey,
  endpoint: endpoint,
  instancename: instancename 
});

// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
client.listTable({}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', data);
});  
.NET

Kode .NET sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

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

namespace Aliyun.OTS.Samples
{
    public class Sample
    {
        public static void InitializeClient()
        {
            // Tentukan titik akhir instans.
            string endpoint = "yourEndpoint";
            // Tentukan nama instans.
            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 klien.
                OTSClient client = new OTSClient(config);
                // Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
                ListTableResponse response = client.ListTable(new ListTableRequest());
                foreach (var tableName in response.TableNames)
                {
                    Console.WriteLine(tableName);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Daftar tabel gagal, pengecualian:{0}", ex.Message);
            }
        }
    }
}
PHP

Kode PHP sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

<?php
// Dalam contoh ini, jalurnya adalah jalur relatif. Modifikasi jalur sesuai kebutuhan.
require (__DIR__ . '/../../vendor/autoload.php');

use Aliyun\OTS\OTSClient as OTSClient;

// Tentukan nama instans.
$instanceName = "yourInstanceName";
// Tentukan titik akhir instans.
$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 klien.
$client = new OTSClient(array(
    'EndPoint' => $endpoint,
    'AccessKeyID' => $accessKeyId,
    'AccessKeySecret' => $accessKeySecret,
    'InstanceName' => $instanceName,
));

// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di Konsol Tablestore.
$response = $client->listTable (array ());
print json_encode ($response);

Model Deret Waktu

Saat menggunakan Model Deret Waktu, Anda harus menggunakan Pasangan AccessKey dari Pengguna RAM untuk menginisialisasi klien untuk Model Deret Waktu dan memulai permintaan. Hanya SDK Tablestore untuk Java, SDK Tablestore untuk Go, dan SDK Tablestore untuk Python yang mendukung Model Deret Waktu.

Java
(Direkomendasikan) Gunakan Tanda Tangan V4

Kode Java sampel berikut memberikan contoh cara menggunakan tanda tangan V4 untuk menginisialisasi klien dan menanyakan daftar tabel deret waktu dalam 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) {
        // Tentukan wilayah tempat instans yang ingin Anda akses berada. Contoh: cn-hangzhou.
        final String region = "yourRegion";
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        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");

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

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

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membuat koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel deret waktu dalam instans dan tampilkan daftarnya di Konsol Tablestore.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

        // Matikan klien Tablestore.
        client.shutdown();
    }
}
Gunakan Tanda Tangan V2

Kode Java sampel berikut memberikan contoh cara menggunakan tanda tangan V2 untuk menginisialisasi klien dan menanyakan daftar tabel deret waktu dalam 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) {
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        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");

        // Buat tanda tangan V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

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

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membuat koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel deret waktu dalam instans dan tampilkan daftarnya di Konsol Tablestore.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

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

Kode Go sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel deret waktu dalam instans:

package main

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

func main() {
	// Tentukan nama instans.
	instanceName := "yourInstanceName"
	// Tentukan titik akhir instans.
	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 klien.
	client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)	

	// Tanyakan daftar tabel deret waktu dalam instans dan tampilkan daftarnya di Konsol Tablestore.
	timeseriesTables, err := client.ListTimeseriesTable()
    if err != nil {
        fmt.Println("Gagal menanyakan tabel")
    } else {
        for _, timeseriesTablesMeta := range (timeseriesTables.GetTimeseriesTableMeta()) {
            fmt.Println(timeseriesTablesMeta.GetTimeseriesTableName())
        }
    }
}
Python

Kode Python sampel berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel deret waktu dalam instans:

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

# Tentukan nama instans.
instance_name = "yourInstanceName"
# Tentukan titik akhir instans.
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 klien.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)

# Tanyakan daftar tabel deret waktu dalam instans dan tampilkan daftarnya di Konsol Tablestore.
response = client.list_timeseries_table()
for tableMeta in response:
    print(tableMeta.timeseries_table_name)

Tanya Jawab Umum

Q: Apa yang harus saya lakukan jika saya menutup halaman Buat Pengguna tanpa menyalin Pasangan AccessKey dari Pengguna RAM atau kehilangan informasi Pasangan AccessKey untuk Pengguna RAM?

Anda dapat membuat Pasangan AccessKey baru dan beralih ke sana. Setelah memastikan bahwa Pasangan AccessKey baru valid, Anda dapat menghapus Pasangan AccessKey lama. Untuk informasi lebih lanjut, lihat Putar Pasangan AccessKey dari Pengguna RAM.

Q: Bagaimana cara memungkinkan Pengguna RAM mengelola Pasangan AccessKey?

Untuk mengizinkan Pengguna RAM membuat, menonaktifkan, dan menghapus Pasangan AccessKey, ikuti langkah berikut: Klik Settings di Konsol RAM dan aktifkan opsi Allow Users To Manage AccessKey pada bagian Global Security. Setelah pengaturan diaktifkan, Pengguna RAM dapat membuat, menonaktifkan, dan menghapus Pasangan AccessKey. Untuk informasi lebih lanjut, lihat Kelola pengaturan keamanan Pengguna RAM dan Buat Pasangan AccessKey.

Q: Apa yang harus saya lakukan jika kesalahan "Permintaan ditolak oleh kebijakan ACL instans" terjadi saat saya menggunakan SDK Tablestore untuk mengakses Tablestore?

Kesalahan ini menunjukkan bahwa jenis jaringan yang digunakan klien Anda untuk mengakses sumber daya dalam instans Tablestore tidak didukung oleh instans tersebut. Pada tab Network Management di halaman Instance Management, pilih jenis jaringan yang digunakan klien Anda untuk parameter Jenis Jaringan yang Diizinkan. Untuk informasi lebih lanjut, lihat Apa yang harus saya lakukan jika kesalahan "Permintaan ditolak oleh kebijakan ACL instans" terjadi saat saya menggunakan SDK Tablestore untuk mengakses Tablestore?.