Verwenden von AWS S3 in Go: Eine vollständige Anleitung

王林
Freigeben: 2023-06-17 08:21:59
Original
2133 Leute haben es durchsucht

Mit der Entwicklung der Cloud-Computing-Technologie haben viele Unternehmen in den letzten Jahren begonnen, auf Cloud-Speicherdienste zurückzugreifen, um ihre eigenen Daten zu speichern und zu verwalten. Unter ihnen ist AWS S3 (Amazon Web Services Simple Storage Service) eine beliebte Wahl. Als einer der Kerndienste von AWS bietet S3 hochverfügbare, leistungsstarke, skalierbare und sichere Speicherdienste. In diesem Artikel werden wir uns eingehend mit der Verwendung von AWS S3 in Go befassen.

  1. Installieren Sie AWS SDK for Go

Bevor Sie AWS S3 verwenden, müssen Sie AWS SDK for Go in Ihrem Projekt installieren. Es kann mit den folgenden Befehlen installiert werden:

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
Nach dem Login kopieren

Diese Befehle laden die erforderlichen Abhängigkeiten von GitHub herunter und speichern sie in Ihrem Projekt.

  1. AWS SDK konfigurieren

Bevor Sie AWS S3 verwenden, müssen Sie AWS SDK-Anmeldeinformationen für den Zugriff auf S3 konfigurieren. Sie können in der AWS-Konsole einen IAM-Benutzer erstellen und dafür Sicherheitsanmeldeinformationen (Zugriffsschlüssel und geheimer Zugriffsschlüssel) generieren. Laden Sie diese Anmeldeinformationen dann auf Ihren Computer hoch (normalerweise in einer ~/.aws/credentials-Datei).

[default]
aws_access_key_id = Access_Key
aws_secret_access_key = Secret_Access_Key
Nach dem Login kopieren

Beachten Sie, dass Sie diese Anmeldeinformationen aus Sicherheitsgründen in Ihren Umgebungsvariablen speichern oder diese Anmeldeinformationen auf andere Weise verwalten können, um zu verhindern, dass sie preisgegeben werden.

  1. Grundlegende Vorgänge

Da wir nun die Konfiguration von AWS SDK und AWS S3 abgeschlossen haben, beginnen wir mit der Durchführung einiger grundlegender Vorgänge.

(1) S3-Instanz erstellen:

sess, err := session.NewSession(&aws.Config{
    Region: aws.String(region)},
)
s3Svc := s3.New(sess)
Nach dem Login kopieren

(2) S3-Bucket auflisten:

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)
}
Nach dem Login kopieren

(3) Neuen Bucket erstellen:

_, err := s3Svc.CreateBucket(&s3.CreateBucketInput{
    Bucket: aws.String(bucketName),
})
if err != nil {
    log.Fatalf("failed to create bucket %s, %v", bucketName, err)
}
Nach dem Login kopieren

(4) Datei hochladen:

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)
}
Nach dem Login kopieren

(5) Datei herunterladen:

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)
}
Nach dem Login kopieren
  1. Fazit

In diesem Artikel haben wir gesehen, wie man AWS S3 in der Go-Sprache verwendet. Unabhängig davon, ob Sie Daten in einer AWS-Cloud-Umgebung speichern oder den S3-Dienst in Ihrer Anwendung verwenden, ist es hilfreich zu wissen, wie Sie eine Verbindung zu S3 herstellen und grundlegende Vorgänge ausführen. Durch die Nutzung der Funktionen des AWS SDK for Go können Sie S3 problemlos als Backend-Speicher für Ihre Go-Anwendungen verwenden. Jetzt können Sie mit diesem leistungsstarken Speicherdienst erweiterte Vorgänge erkunden und Ihre Daten verwalten!

Das obige ist der detaillierte Inhalt vonVerwenden von AWS S3 in Go: Eine vollständige Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!