Maison  >  Article  >  développement back-end  >  Comment utiliser AWS SDK version 2 avec des informations d'identification dynamiques dans Go ?

Comment utiliser AWS SDK version 2 avec des informations d'identification dynamiques dans Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 13:33:29564parcourir

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

Accès à AWS avec le SDK version 2 et les informations d'identification dynamiques

Semblable à une enquête précédente, cette question cherche à obtenir des conseils sur l'utilisation du SDK AWS version 2 avec informations d'identification stockées dans des variables. Contrairement à son prédécesseur, la version 2 du SDK n'utilise plus la classe Session.

Considérez la fonction suivante utilisée pour instancier un nouveau client et se connecter au service IAM :

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

Pour accueillir plusieurs utilisateurs En utilisant l'application simultanément, l'utilisation de variables d'environnement n'est pas pratique. Cela nécessite une méthode alternative pour transmettre les informations d'identification au client.

Solution : utilisation de StaticCredentialsProvider

La documentation AWS SDK for Go V2 explique l'utilisation de StaticCredentialsProvider pour atteindre cet objectif. , comme indiqué dans la section « Identifiants statiques » :

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

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!

Déclaration:
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