如何访问oci goland sdk中的秘密包内容

How to access secret bundle content in oci goland sdk

我正在使用 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 }

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

    var content string
    base64Details, ok := resp.SecretBundleContent.(secrets.Base64SecretBundleContentDetails)
    if ok {
        log.Println("base64 content details", *base64Details.Content)
        content = *base64Details.Content
    }