【问题标题】:GO AWS SDKv2: Parsing json file and adding values as tags for AWS SecretsmanagerGO AWS SDK v2:解析 json 文件并将值添加为 AWS Secrets Manager 的标签
【发布时间】:2022-10-05 18:29:07
【问题描述】:

我需要通过利用 AWS SDKv2 GO 在 go 中编写一个跨平台的 cli 工具。

我需要像这样解析一个json文件:

{
    \"Tags\": [
                {
                    \"Key\": \"global1\",
                    \"Value\": \"val1\"
                },
                {
                    \"Key\": \"global2\",
                    \"Value\": \"val2\"
                }
              ]
}

我有这个功能:


package lib

import (
    \"fmt\"
    \"github.com/aws/aws-sdk-go-v2/aws\"
    \"encoding/json\"
    \"github.com/aws/aws-sdk-go-v2/service/secretsmanager\"
    \"io/ioutil\"
    \"os\"
)
//func CreateSecret(client *secretsmanager.Client, secretName string, description string, kmsKeyId string, secretString string) {
func CreateSecret(client *secretsmanager.Client) {

    // Parse tags.json
    jsonFile, err := os.Open(\"tags.json\")
    if err != nil {
        fmt.Println(err)
    }

    // defer the closing of our jsonFile so that we can parse it later on
    defer jsonFile.Close()

    byteValue, _ := ioutil.ReadAll(jsonFile)

    tags := []*secretsmanager.Tag{}
    json.Unmarshal(byteValue, &tags)
    
   // rest of the code is truncated...
}

但是,我收到此错误:

lib/commands.go:58:28:未定义:secretsmanager.Tag

我究竟做错了什么?

    标签: amazon-web-services go


    【解决方案1】:

    secretsmanager.Tag 不存在。但我认为您正在寻找的是这个包:github.com/aws/aws-sdk-go-v2/service/secretsmanager/types。导入它,然后您将拥有types.Tag,这可能是您需要的。

    【讨论】:

      猜你喜欢
      • 2022-10-24
      • 1970-01-01
      • 2021-04-23
      • 2021-03-17
      • 2022-11-30
      • 1970-01-01
      • 2019-12-01
      • 2021-04-21
      • 2020-08-23
      相关资源
      最近更新 更多