Todos os produtos
Search
Central de documentação

Lindorm:Use a API do Amazon S3 com uma linguagem não Java para desenvolver aplicações

Última atualização: Jun 28, 2026

Este tópico descreve como usar o SDK do Amazon S3 em linguagens que não sejam Java, como Go ou Python, para se conectar e usar o LindormTable pelo protocolo Amazon S3, com exemplos correspondentes.

Pré-requisitos

  • Obtenha o endereço de compatibilidade S3 do mecanismo LindormTable do Lindorm. Para mais informações, consulte Visualizar endpoints. O endereço de compatibilidade S3 corresponde ao endpoint de VPC da instância do Lindorm. Encontre esse endpoint na página Endpoints, na aba LindormTable, na seção S3 Compatibility Address. O formato do endpoint é ld-bp<instance ID>:9053. O nome de usuário e a senha padrão são root.

  • Adicione o endereço IP do cliente à lista de permissões da instância do Lindorm. Para mais detalhes, consulte Configurar uma lista de permissões.

Procedimento

Use o SDK do Amazon S3 para Go para se conectar e usar o LindormTable

  1. Instale o SDK do Amazon S3 para Go.

    go get github.com/aws/aws-sdk-go
  2. Conecte-se e use o LindormTable pelo SDK do Amazon S3 para Go.

    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" // The S3 compatibility address for the LindormTable 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)
    // Create a connection.
     svc := s3.New(sess)
    // List all buckets.
     input := &s3.ListBucketsInput{}
     result, err := svc.ListBuckets(input)
     if err != nil {
      panic(err.Error())
     }
     println(result.String())
     bucket := "testbucketgo"
     key := "testObjectGo"
    // Create a bucket.
     out, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: &bucket})
     log.Println(out)
     if err != nil {
      log.Println("Failed to create bucket", err)
      return
     }
     if err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: &bucket}); err != nil {
      log.Printf("Failed to wait for bucket to exist %s, %s\n", bucket, err)
      return
     }
    // Upload an object.
     _, err = svc.PutObject(&s3.PutObjectInput{
      Body:   strings.NewReader("Hello World!"),
      Bucket: &bucket,
      Key:    &key,
     })
     if err != nil {
      log.Printf("Failed to upload data to %s/%s, %s\n", bucket, key, err)
      return
     }
    }
    Nota

    Substitua os campos AK e SK no código de exemplo pelo AccessKey ID e AccessKey secret usados para se conectar ao LindormTable. Recomendamos configurar o AccessKey ID e o AccessKey secret como variáveis de ambiente ou especificá-los no arquivo de configuração, em vez de codificá-los diretamente no código-fonte.

Use o SDK do Amazon S3 para Python para se conectar e usar o LindormTable

  1. Instale o SDK do Amazon S3 para Python.

    pip install boto3
  2. Conecte-se e use o LindormTable pelo SDK do Amazon S3 para Python.

    import boto3
    from botocore.client import Config
    s3endpoint = 'http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053' # The S3 compatibility address for the LindormTable engine.
    # Create a connection.
    s3client = boto3.client(
        's3',
        aws_access_key_id="AK", 
        aws_secret_access_key="SK",
        endpoint_url = s3endpoint,
        config=Config(s3={'addressing_style': 'path'})
    )
    # Create a bucket. 
    s3client.create_bucket(Bucket="testbucketpython")
    # List buckets.
    buckets = s3client.list_buckets()
    # Print all buckets.
    for bucket in buckets['Buckets']:
        print(bucket["Name"])
    # Upload an object.
    response = s3client.upload_file("demo.py", "testbucketpython", "demo.py")
    # Download an object.
    s3client.download_file('testbucketpython', 'demo.py', 'demo.py.download')
    Nota

    Substitua os campos AK e SK no código de exemplo pelo AccessKey ID e AccessKey secret usados para se conectar ao LindormTable. Recomendamos configurar o AccessKey ID e o AccessKey secret como variáveis de ambiente ou especificá-los no arquivo de configuração, em vez de codificá-los diretamente no código-fonte.