Topik ini menjelaskan cara menggunakan Amazon S3 SDK untuk bahasa non-Java seperti Go atau Python untuk terhubung dan menggunakan LindormTable berdasarkan protokol Amazon S3, serta menyediakan contoh yang relevan.
Prasyarat
Titik akhir yang sesuai dengan Alamat Kompatibilitas S3 pada tab Wide Table Engine di konsol Lindorm telah diperoleh. Untuk informasi lebih lanjut, lihat Lihat titik akhir.

Alamat IP klien Anda telah ditambahkan ke daftar putih instance Lindorm Anda. Untuk informasi lebih lanjut, lihat Konfigurasi daftar putih.
Prosedur
Menggunakan Amazon S3 SDK untuk Go untuk terhubung dan menggunakan LindormTable
Instal Amazon S3 SDK untuk Go.
go get github.com/aws/aws-sdk-goGunakan Amazon S3 SDK untuk Go untuk terhubung dan menggunakan LindormTable.
package main import ( "log" "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 ( s3endpoint = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053" // Tentukan titik akhir yang sesuai dengan Alamat Kompatibilitas S3 pada tab Wide Table Engine. ) func main() { conf := &aws.Config{ Credentials: credentials.NewStaticCredentials("AK", "SK", ""), Region: aws.String("lindorm"), Endpoint: aws.String(s3endpoint), S3ForcePathStyle: aws.Bool(true), } sess, err := session.NewSession(conf) // Membuat koneksi. svc := s3.New(sess) // Daftarkan semua bucket. input := &s3.ListBucketsInput{} result, err := svc.ListBuckets(input) if err != nil { panic(err.Error()) } println(result.String()) bucket := "testbucketgo" key := "testObjectGo" // Buat sebuah bucket. out, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: &bucket}) log.Println(out) if err != nil { log.Println("Gagal membuat bucket", err) return } if err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: &bucket}); err != nil { log.Printf("Gagal menunggu bucket ada %s, %s\n", bucket, err) return } // Tulis sebuah objek ke bucket. _, err = svc.PutObject(&s3.PutObjectInput{ Body: strings.NewReader("Hello World!"), Bucket: &bucket, Key: &key, }) if err != nil { log.Printf("Gagal mengunggah data ke %s/%s, %s\n", bucket, key, err) return } }CatatanGantikan bidang AK dan SK dalam kode contoh dengan ID AccessKey dan Rahasia AccessKey yang sebenarnya digunakan untuk terhubung ke LindormTable. Kami sarankan Anda mengonfigurasi ID AccessKey dan Rahasia AccessKey sebagai variabel lingkungan atau tentukan mereka dalam file konfigurasi daripada melakukan hardcoding.
Menggunakan Amazon S3 SDK untuk Python untuk terhubung dan menggunakan LindormTable
Instal Amazon S3 SDK untuk Python.
pip install boto3Gunakan Amazon S3 SDK untuk Python untuk terhubung dan menggunakan LindormTable.
import boto3 from botocore.client import Config s3endpoint = 'http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053' # Tentukan titik akhir yang sesuai dengan Alamat Kompatibilitas S3 pada tab Wide Table Engine. # Membuat koneksi. s3client = boto3.client( 's3', aws_access_key_id="AK", aws_secret_access_key="SK", endpoint_url = s3endpoint, config=Config(s3={'addressing_style': 'path'}) ) # Buat sebuah bucket. s3client.create_bucket(Bucket="testbucketpython") # Daftarkan semua bucket. buckets = s3client.list_buckets() # Tampilkan semua bucket. for bucket in buckets['Buckets']: print(bucket["Name"]) # Unggah sebuah objek. response = s3client.upload_file("demo.py", "testbucketpython", "demo.py") # Unduh objek tersebut. s3client.download_file('testbucketpython', 'demo.py', 'demo.py.download')CatatanGantikan bidang AK dan SK dalam kode contoh dengan ID AccessKey dan Rahasia AccessKey yang sebenarnya digunakan untuk terhubung ke LindormTable. Kami sarankan Anda mengonfigurasi ID AccessKey dan Rahasia AccessKey sebagai variabel lingkungan atau tentukan mereka dalam file konfigurasi daripada melakukan hardcoding.