LindormTable mendukung protokol Amazon S3, sehingga Anda dapat menghubungkannya menggunakan SDK apa pun yang kompatibel dengan S3—tanpa memerlukan pustaka klien khusus Lindorm. Topik ini menjelaskan cara menghubungkan dan menjalankan operasi dasar menggunakan AWS SDK for Go dan boto3 untuk Python.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memperoleh alamat endpoint S3 Compatibility Address dari tab Wide Table Engine di Konsol Lindorm. Untuk detailnya, lihat Lihat endpoint.

Menambahkan alamat IP klien Anda ke daftar putih instans Lindorm Anda. Untuk detailnya, lihat Konfigurasi daftar putih.
Menyimpan ID AccessKey dan Rahasia AccessKey Anda sebagai variabel lingkungan:
export ALIBABA_CLOUD_ACCESS_KEY_ID=<your-access-key-id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<your-access-key-secret>
Hubungkan menggunakan Go
Instal SDK
go get github.com/aws/aws-sdk-goKonfigurasi klien
Tiga parameter memerlukan nilai selain nilai default untuk LindormTable:
| Parameter | Nilai | Alasan |
|---|---|---|
Region | "lindorm" | Diperlukan oleh SDK; tidak digunakan untuk routing oleh LindormTable |
S3ForcePathStyle | true | LindormTable mewajibkan pengalamatan gaya path |
Endpoint | S3 Compatibility Address dari Konsol Lindorm | Mengarahkan permintaan ke instans LindormTable Anda |
package main
import (
"log"
"os"
"strings"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
const (
// Ganti dengan S3 Compatibility Address dari tab Wide Table Engine di Konsol Lindorm.
s3endpoint = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053"
)
func main() {
conf := &aws.Config{
Credentials: credentials.NewStaticCredentials(
os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), // AccessKey ID
os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), // AccessKey secret
"",
),
Region: aws.String("lindorm"), // Diperlukan oleh SDK; tidak digunakan untuk routing oleh LindormTable
Endpoint: aws.String(s3endpoint),
S3ForcePathStyle: aws.Bool(true), // LindormTable mewajibkan pengalamatan gaya path
}
sess, err := session.NewSession(conf)
if err != nil {
log.Fatal("Gagal membuat session:", err)
}
svc := s3.New(sess)Daftar semua bucket
input := &s3.ListBucketsInput{}
result, err := svc.ListBuckets(input)
if err != nil {
log.Fatal("Gagal menampilkan daftar bucket:", err)
}
println(result.String())Buat bucket
bucket := "testbucketgo"
out, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: &bucket})
log.Println(out)
if err != nil {
log.Fatal("Gagal membuat bucket:", err)
}
if err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: &bucket}); err != nil {
log.Fatalf("Gagal menunggu bucket %s tersedia: %s\n", bucket, err)
}Tulis objek
key := "testObjectGo"
_, err = svc.PutObject(&s3.PutObjectInput{
Body: strings.NewReader("Hello World!"),
Bucket: &bucket,
Key: &key,
})
if err != nil {
log.Fatalf("Gagal mengunggah objek ke %s/%s: %s\n", bucket, key, err)
}
}Hubungkan menggunakan Python
Instal SDK
pip install boto3Konfigurasi klien
Pengaturan addressing_style: 'path' mengaktifkan pengalamatan gaya path, yang diwajibkan oleh LindormTable.
import os
import boto3
from botocore.client import Config
# Ganti dengan S3 Compatibility Address dari tab Wide Table Engine di Konsol Lindorm.
s3endpoint = 'http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053'
s3client = boto3.client(
's3',
aws_access_key_id=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID"), # AccessKey ID
aws_secret_access_key=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), # AccessKey secret
endpoint_url=s3endpoint,
config=Config(s3={'addressing_style': 'path'}) # LindormTable mewajibkan pengalamatan gaya path
)Daftar semua bucket
buckets = s3client.list_buckets()
for bucket in buckets['Buckets']:
print(bucket["Name"])Tanggapan yang berhasil akan mencetak nama bucket, satu per baris:
testbucketpythonBuat bucket
s3client.create_bucket(Bucket="testbucketpython")Unggah objek
s3client.upload_file("demo.py", "testbucketpython", "demo.py")Unduh objek
s3client.download_file('testbucketpython', 'demo.py', 'demo.py.download')Langkah berikutnya
Untuk mengeksplorasi lebih banyak operasi kompatibel S3 yang didukung oleh LindormTable, lihat dokumentasi AWS SDK for Go dan dokumentasi boto3.
Untuk mengelola kontrol akses dan memantau penggunaan, lihat Konsol Lindorm.