本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在應用程序中,您可以通過調用GetSecretValue
或BatchGetSecretValue
在任何 AWS SDK 中檢索密碼。不過,建議您使用用戶端快取來快取您的秘密值。快取秘密可提高速度並降低成本。
對於 Go 應用程式,請使用 Secrets Manager Go 型快取元件或使用 GetSecretValue
或 BatchGetSecretValue
直接呼叫 SDK。
下列程式碼範例顯示如何取得 Secrets Manager 秘密值。
必要許可:secretsmanager:GetSecretValue
// Use this code snippet in your app.
// If you need more information about configurations or implementing the sample code, visit the AWS docs:
// https://aws.github.io/aws-sdk-go-v2/docs/getting-started/
import (
"context"
"log"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/secretsmanager"
)
func main() {
secretName := "<<{{MySecretName}}>>"
region := "<<{{MyRegionName}}>>"
config, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion(region))
if err != nil {
log.Fatal(err)
}
// Create Secrets Manager client
svc := secretsmanager.NewFromConfig(config)
input := &secretsmanager.GetSecretValueInput{
SecretId: aws.String(secretName),
VersionStage: aws.String("AWSCURRENT"), // VersionStage defaults to AWSCURRENT if unspecified
}
result, err := svc.GetSecretValue(context.TODO(), input)
if err != nil {
// For a list of exceptions thrown, see
// https://<<{{DocsDomain}}>>/secretsmanager/latest/apireference/API_GetSecretValue.html
log.Fatal(err.Error())
}
// Decrypts secret using the associated KMS key.
var secretString string = *result.SecretString
// Your code goes here.
}