catspeake
您可以使用以下代码:package mainimport ( "context" awsutils "github.com/alessiosavi/GoGPUtils/aws" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/lambda" "os" "sync")var lambdaClient *lambda.Client = nilvar once sync.Oncefunc init() { once.Do(func() { cfg, err := awsutils.New() if err != nil { panic(err) } lambdaClient = lambda.New(lambda.Options{Credentials: cfg.Credentials, Region: cfg.Region}) })}func ListLambdas() ([]string, error) { f, err := lambdaClient.ListFunctions(context.Background(), &lambda.ListFunctionsInput{}) if err != nil { return nil, err } var functions = make([]string, len(f.Functions)) for i, functionName := range f.Functions { functions[i] = *functionName.FunctionName } continuationToken := f.NextMarker for continuationToken != nil { f, err = lambdaClient.ListFunctions(context.Background(), &lambda.ListFunctionsInput{Marker: continuationToken}) if err != nil { return nil, err } continuationToken = f.NextMarker for _, functionName := range f.Functions { functions = append(functions, *functionName.FunctionName) } } return functions, nil}func DescribeLambda(lambdaName string) (*lambda.GetFunctionOutput, error) { function, err := lambdaClient.GetFunction(context.Background(), &lambda.GetFunctionInput{FunctionName: aws.String(lambdaName)}) if err != nil { return nil, err } return function, nil}func ListTags(lambdaARN string) (*lambda.ListTagsOutput, error) { return lambdaClient.ListTags(context.Background(), &lambda.ListTagsInput{ Resource: aws.String(lambdaARN), })}然后您可以使用该ListLambdas方法列出所有 lambda。之后,您可以迭代返回的切片并调用该DescribeLambda方法以获得lambdaARN,然后您可以调用ListTags.