0

我正在使用 oci go sdk 来访问 oci 中的秘密。我得到了 SecretBundleResponse 对象,但我想提取 resp.SecretBundleContent 中存在的“内容”字段。该对象上没有可用的 api 来提取它。有什么帮助吗?我正在使用https://docs.oracle.com/en-us/iaas/api/#/en/secretretrieval/20190301/SecretBundle/GetSecretBundle

    req := secrets.GetSecretBundleRequest{
        SecretId: common.String(secretID),
        Stage:    secrets.GetSecretBundleStageCurrent,
    }
    // Send the request using the service client
    resp, err := client.GetSecretBundle(context.Background(), req)
    if err != nil {
        log.Println("Unable to get secrete bundle: ", err)
        return ""
    }
    log.Println("secret bundle resp Secret Bundle content", resp.SecretBundleContent)
    // secret bundle resp Secret Bundle content { Content=MyContent }
4

1 回答 1

1

收到来自 Oracle 内部松弛通道的解决方案的响应。看来我需要使用 Base64SecretBundleContentDetails 类型转换 SecretBundleContent 来访问它的字段。

    var content string
    base64Details, ok := resp.SecretBundleContent.(secrets.Base64SecretBundleContentDetails)
    if ok {
        log.Println("base64 content details", *base64Details.Content)
        content = *base64Details.Content
    }
于 2021-09-02T18:25:41.427 回答