Maison > développement back-end > Golang > le corps du texte

Utilisation d'AWS S3 in Go : un guide complet

王林
Libérer: 2023-06-17 08:21:59
original
2133 Les gens l'ont consulté

Ces dernières années, avec le développement de la technologie du cloud computing, de nombreuses entreprises ont commencé à se tourner vers les services de stockage dans le cloud pour stocker et gérer leurs propres données. Parmi eux, AWS S3 (Amazon Web Services Simple Storage Service) est un choix populaire. En tant que l'un des services principaux d'AWS, S3 fournit des services de stockage haute disponibilité, hautes performances, évolutifs et sécurisés. Dans cet article, nous examinerons en profondeur comment utiliser AWS S3 dans Go.

  1. Installer AWS SDK for Go

Avant de commencer à utiliser AWS S3, vous devez installer AWS SDK for Go dans votre projet. Il peut être installé à l'aide des commandes suivantes :

go get -u github.com/aws/aws-sdk-go/aws
go get -u github.com/aws/aws-sdk-go/aws/session
go get -u github.com/aws/aws-sdk-go/service/s3
Copier après la connexion

Ces commandes téléchargeront les dépendances nécessaires depuis GitHub et les enregistreront dans votre projet.

  1. Configurer le SDK AWS

Avant d'utiliser AWS S3, vous devez configurer les informations d'identification du SDK AWS pour accéder à S3. Vous pouvez créer un utilisateur IAM dans la console AWS et générer des informations d'identification de sécurité (clé d'accès et clé d'accès secrète) pour celui-ci. Ensuite, téléchargez ces informations d'identification sur votre ordinateur (généralement dans un fichier ~/.aws/credentials).

[default]
aws_access_key_id = Access_Key
aws_secret_access_key = Secret_Access_Key
Copier après la connexion

Notez que, pour des raisons de sécurité, vous pouvez stocker ces informations d'identification dans vos variables d'environnement ou utiliser d'autres moyens pour gérer ces informations d'identification afin d'éviter qu'elles ne soient divulguées.

  1. Opérations de base

Maintenant que nous avons terminé la configuration du SDK AWS et d'AWS S3, commençons à effectuer quelques opérations de base.

(1) Créer une instance S3 :

sess, err := session.NewSession(&aws.Config{
    Region: aws.String(region)},
)
s3Svc := s3.New(sess)
Copier après la connexion

(2) Liste du bucket S3 :

result, err := s3Svc.ListBuckets(nil)
if err != nil {
    log.Fatalf("failed to list buckets, %v", err)
}

for _, bucket := range result.Buckets {
    fmt.Printf("%s : %s
", aws.StringValue(bucket.Name), bucket.CreationDate)
}
Copier après la connexion

(3) Créer un nouveau bucket :

_, err := s3Svc.CreateBucket(&s3.CreateBucketInput{
    Bucket: aws.String(bucketName),
})
if err != nil {
    log.Fatalf("failed to create bucket %s, %v", bucketName, err)
}
Copier après la connexion

(4) Télécharger le fichier :

file, err := os.Open(filename)
if err != nil {
    log.Fatalf("failed to open file %q, %v", filename, err)
}

defer func() {
    if err = file.Close(); err != nil {
        log.Fatalf("failed to close file %q, %v", filename, err)
    }
}()

_, err = s3Svc.PutObject(&s3.PutObjectInput{
    Body:   file,
    Bucket: aws.String(bucketName),
    Key:    aws.String(filepath.Base(filename)),
})
if err != nil {
    log.Fatalf("failed to upload file %q to bucket %q, %v", filename, bucketName, err)
}
Copier après la connexion

(5) Télécharger le fichier :

file, err := os.Create(filename)
if err != nil {
    log.Fatalf("failed to create file %q, %v", filename, err)
}

defer func() {
    if err = file.Close(); err != nil {
        log.Fatalf("failed to close file %q, %v", filename, err)
    }
}()

result, err := s3Svc.GetObject(&s3.GetObjectInput{
    Bucket: aws.String(bucketName),
    Key:    aws.String(objectName),
})
if err != nil {
    log.Fatalf("failed to download file %q from bucket %q, %v", objectName, bucketName, err)
}

if _, err = io.Copy(file, result.Body); err != nil {
    log.Fatalf("failed to download file %q from bucket %q, %v", objectName, bucketName, err)
}
Copier après la connexion
  1. Conclusion

Dans cet article, nous avons vu comment utiliser AWS S3 en langage Go. Que vous stockiez des données dans un environnement cloud AWS ou que vous utilisiez le service S3 dans votre application, il est utile de savoir comment vous connecter à S3 et effectuer des opérations de base. En utilisant les fonctionnalités du kit AWS SDK for Go, vous pouvez facilement utiliser S3 comme stockage principal pour vos applications Go. Vous pouvez désormais commencer à explorer des opérations plus avancées et à gérer vos données avec ce puissant service de stockage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!