Tous les produits
Search
Centre de documentation

Lindorm:Utiliser l'API Amazon S3 avec un langage autre que Java pour développer des applications

Dernière mise à jour :Aug 11, 2026

Cette rubrique explique comment utiliser le SDK Amazon S3 pour un langage autre que Java, tel que Go ou Python, afin de se connecter à LindormTable et d'utiliser ce service via le protocole Amazon S3. Des exemples correspondants sont également fournis.

Prérequis

  • Vous avez obtenu l'adresse de compatibilité S3 du moteur Lindorm LindormTable. Pour plus d'informations, consultez la section View endpoints. L'adresse de compatibilité S3 correspond à l'endpoint VPC de l'instance Lindorm. Vous pouvez trouver cet endpoint sur la page Endpoints, dans l'onglet LindormTable, sous la section S3 Compatibility Address. L'endpoint est au format ld-bp<instance ID>:9053. Le nom d'utilisateur et le mot de passe par défaut sont tous deux root.

  • Ajoutez l'adresse IP du client à la liste d'autorisation de l'instance Lindorm. Pour plus d'informations, consultez la section Configure a whitelist.

Procédure

Utiliser le SDK Amazon S3 pour Go pour se connecter à LindormTable et l'utiliser

  1. Installez le SDK Amazon S3 pour Go.

    go get github.com/aws/aws-sdk-go
  2. Utilisez le SDK Amazon S3 pour Go pour vous connecter à LindormTable et l'utiliser.

    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
     }
    }
    Remarque

    Remplacez les champs AK et SK dans l'exemple de code par l'AccessKey ID et l'AccessKey secret que vous utilisez réellement pour vous connecter à LindormTable. Nous vous recommandons de configurer l'AccessKey ID et l'AccessKey secret en tant que variables d'environnement ou de les spécifier dans le fichier de configuration plutôt que de les coder en dur.

Utiliser le SDK Amazon S3 pour Python pour se connecter à LindormTable et l'utiliser

  1. Installez le SDK Amazon S3 pour Python.

    pip install boto3
  2. Utilisez le SDK Amazon S3 pour Python pour vous connecter à LindormTable et l'utiliser.

    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')
    Remarque

    Remplacez les champs AK et SK dans l'exemple de code par l'AccessKey ID et l'AccessKey secret que vous utilisez réellement pour vous connecter à LindormTable. Nous vous recommandons de configurer l'AccessKey ID et l'AccessKey secret en tant que variables d'environnement ou de les spécifier dans le fichier de configuration plutôt que de les coder en dur.