Heim >Backend-Entwicklung >Golang >Wie verwende ich AWS SDK Version 2 mit dynamischen Anmeldeinformationen in Go?

Wie verwende ich AWS SDK Version 2 mit dynamischen Anmeldeinformationen in Go?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 13:33:29650Durchsuche

How to Use AWS SDK Version 2 with Dynamic Credentials in Go?

Zugriff auf AWS mit SDK Version 2 und dynamischen Anmeldeinformationen

Ähnlich wie bei einer früheren Anfrage sucht diese Frage nach Anleitungen zur Verwendung von AWS SDK Version 2 mit Anmeldeinformationen werden in Variablen gespeichert. Im Gegensatz zum Vorgänger verwendet SDK Version 2 nicht mehr die Session-Klasse.

Betrachten Sie die folgende Funktion, die zum Instanziieren eines neuen Clients und zum Herstellen einer Verbindung mit dem IAM-Dienst verwendet wird:

<code class="go">func getIAMClient(ctx context.Context) (*iam.Client, error) {
    cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region"))
    if err != nil {
        return nil, errors.Wrap(err)
    }

    cfg.HTTPClient, err = getHTTPClient(ctx)
    if err != nil {
        return nil, err
    }

    return iam.NewFromConfig(cfg), nil
}</code>

Um mehrere Benutzer zu unterstützen Bei gleichzeitiger Nutzung der Anwendung ist die Verwendung von Umgebungsvariablen unpraktisch. Dies erfordert eine alternative Methode zur Übergabe von Anmeldeinformationen an den Client.

Lösung: Verwendung von StaticCredentialsProvider

Die AWS SDK for Go V2-Dokumentation erläutert die Verwendung von StaticCredentialsProvider zum Erreichen dieses Ziels , wie im Abschnitt „Statische Anmeldeinformationen“ beschrieben:

<code class="go">cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))</code>

Das obige ist der detaillierte Inhalt vonWie verwende ich AWS SDK Version 2 mit dynamischen Anmeldeinformationen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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