亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何添加所有資源 arn?Lambda Golang 列表標簽

如何添加所有資源 arn?Lambda Golang 列表標簽

Go
大話西游666 2023-03-15 15:01:09
我試圖列出我的 lambda 函數的所有標簽,很費力,如果有人知道,請幫助我。func main() {    svc := lambda.New(session.New())    input := &lambda.ListTagsInput{        Resource: aws.String("arn:aws:lambda:us-east-1:657907747545:function-function-name"),    我希望列出我的 lambda 函數的所有標簽 arn
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

您可以使用以下代碼:


package main


import (

? ? "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 = nil

var once sync.Once


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


查看完整回答
反對 回復 2023-03-15
  • 1 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號