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
Login ke RAM console menggunakan akun Alibaba Cloud Anda atau pengguna RAM yang memiliki izin administratif.
Pada panel navigasi di sebelah kiri, pilih Identities > Users.
Pada halaman Users, klik Create User.
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
dan masukkan kunci tag serta nilai tag. Menambahkan tag membantu Anda menemukan dan mengelola pengguna RAM.
CatatanAnda dapat mengklik Add User untuk membuat beberapa pengguna RAM sekaligus.
Pada bagian Access Mode, pilih Programmatic Access, lalu klik OK.
CatatanUntuk mengizinkan pengguna RAM login ke Alibaba Cloud Management Console, pilih Console Access.
Pada kolom Actions, klik Copy untuk menyimpan informasi pengguna RAM. Anda juga dapat menyalin ID AccessKey dan rahasia AccessKey secara terpisah.
PentingRahasia 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.
Kebijakan AliyunOTSFullAccess memberikan akses penuh ke Tablestore. Anda juga dapat memberikan izin menggunakan kebijakan default lainnya:
Untuk akses read-only, berikan kebijakan
AliyunOTSReadOnlyAccesskepada pengguna RAM.Untuk akses write-only, berikan kebijakan
AliyunOTSWriteOnlyAccesskepada pengguna RAM.
Pada panel navigasi di sebelah kiri, pilih Identities > Users.
Pada halaman Users, temukan pengguna RAM yang dituju.
Klik Add Permissions pada kolom Actions untuk pengguna RAM tersebut.
Pada panel Grant Permission, pada bagian Policy, cari dan pilih
AliyunOTSFullAccess.Klik Grant Permissions.
Kebijakan kustom
Buat kebijakan kustom.
Pada panel navigasi di sebelah kiri, pilih Permissions > Policies.
Pada halaman Policies, klik Create Policy.
Pada halaman Create Policy, klik tab JSON, masukkan skrip kebijakan Anda di editor, lalu klik OK.
CatatanSkrip 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*" } ] }Pada dialog Create Policy, masukkan nama kebijakan, misalnya
TestRAMPolicy, lalu klik OK.
Sambungkan kebijakan kustom ke pengguna RAM.
Pada panel navigasi di sebelah kiri, pilih Identities > Users.
Pada halaman Users, temukan pengguna RAM yang dituju.
Klik Add Permissions pada kolom Actions untuk pengguna RAM tersebut.
Pada panel Grant Permission, pada bagian Policy, cari dan pilih kebijakan kustom yang telah Anda buat.
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
Buat instans dan tabel data di Tablestore console.
Dapatkan nama instans, endpoint, dan region ID.
PentingSecara 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.
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
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'" >> ~/.bashrcJalankan perintah berikut agar perubahan berlaku:
source ~/.bashrcJalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
macOS
Jalankan perintah berikut di terminal untuk memeriksa jenis Shell default.
echo $SHELLLakukan operasi berdasarkan jenis Shell default.
Zsh
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'" >> ~/.zshrcJalankan perintah berikut agar perubahan berlaku:
source ~/.zshrcJalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Bash
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_profileJalankan perintah berikut agar perubahan berlaku:
source ~/.bash_profileJalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Windows
CMD
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"Setelah merestart CMD, jalankan perintah berikut untuk memeriksa apakah variabel lingkungan sudah berlaku:
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
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)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)
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/tablestoreUntuk informasi lebih lanjut, lihat Install Tablestore SDK for Go.
Python
Jalankan perintah berikut untuk menggunakan pip menginstal Tablestore SDK for Python:
sudo pip install tablestoreUntuk informasi lebih lanjut, lihat Install Tablestore SDK for Python.
Node.js
Jalankan perintah berikut untuk menginstal Tablestore SDK for Node.js:
npm install tablestoreUntuk 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)