All Products
Search
Document Center

Lindorm:Gunakan Amazon S3 API untuk bahasa non-Java dalam mengembangkan aplikasi

Last Updated:Jun 19, 2026

Topik ini menjelaskan cara menggunakan Amazon S3 SDK untuk bahasa non-Java seperti Go atau Python guna terhubung ke dan menggunakan LindormTable berdasarkan protokol Amazon S3, serta menyediakan contoh yang sesuai.

Prasyarat

  • Anda telah memperoleh alamat kompatibilitas S3 dari mesin Lindorm LindormTable. Untuk informasi selengkapnya, lihat View endpoints. Alamat kompatibilitas S3 merupakan endpoint VPC dari instans Lindorm. Anda dapat menemukan endpoint tersebut pada halaman Endpoints, di tab LindormTable, pada bagian S3 Compatibility Address. Format endpoint adalah ld-bp<instance ID>:9053. Username dan password default keduanya adalah root.

  • Tambahkan alamat IP klien ke daftar putih instans Lindorm. Untuk informasi selengkapnya, lihat Configure a whitelist.

Prosedur

Gunakan Amazon S3 SDK untuk Go guna terhubung ke dan menggunakan LindormTable

  1. Instal Amazon S3 SDK untuk Go.

    go get github.com/aws/aws-sdk-go
  2. Gunakan Amazon S3 SDK untuk Go guna terhubung ke 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" // Alamat kompatibilitas S3 untuk mesin LindormTable.
    )
    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)
    // Buat koneksi.
     svc := s3.New(sess)
    // Daftar semua bucket.
     input := &s3.ListBucketsInput{}
     result, err := svc.ListBuckets(input)
     if err != nil {
      panic(err.Error())
     }
     println(result.String())
     bucket := "testbucketgo"
     key := "testObjectGo"
    // Buat 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 tersedia %s, %s\n", bucket, err)
      return
     }
    // Unggah objek.
     _, 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
     }
    }
    Catatan

    Ganti bidang AK dan SK dalam kode contoh dengan ID AccessKey dan Rahasia AccessKey yang benar-benar Anda gunakan untuk menghubungkan LindormTable. Kami menyarankan agar Anda mengonfigurasi ID AccessKey dan Rahasia AccessKey sebagai variabel lingkungan atau menentukannya dalam file konfigurasi, bukan melakukan hardcoding.

Gunakan Amazon S3 SDK untuk Python guna terhubung ke dan menggunakan LindormTable

  1. Instal Amazon S3 SDK untuk Python.

    pip install boto3
  2. Gunakan Amazon S3 SDK untuk Python guna terhubung ke dan menggunakan LindormTable.

    import boto3
    from botocore.client import Config
    s3endpoint = 'http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053' # Alamat kompatibilitas S3 untuk mesin LindormTable.
    # Buat 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 bucket. 
    s3client.create_bucket(Bucket="testbucketpython")
    # Daftar bucket.
    buckets = s3client.list_buckets()
    # Cetak semua bucket.
    for bucket in buckets['Buckets']:
        print(bucket["Name"])
    # Unggah objek.
    response = s3client.upload_file("demo.py", "testbucketpython", "demo.py")
    # Unduh objek.
    s3client.download_file('testbucketpython', 'demo.py', 'demo.py.download')
    Catatan

    Ganti bidang AK dan SK dalam kode contoh dengan ID AccessKey dan Rahasia AccessKey yang benar-benar Anda gunakan untuk menghubungkan LindormTable. Kami menyarankan agar Anda mengonfigurasi ID AccessKey dan Rahasia AccessKey sebagai variabel lingkungan atau menentukannya dalam file konfigurasi, bukan melakukan hardcoding.