oracle云基础设施-如何访问oci goland sdk中的秘密包内容



我使用oci go sdk访问oci中的秘密。我得到了secretbundlerresponse对象但我想提取Content"字段,该字段存在于rep . 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内部slack channel的响应,并提供了解决方案。似乎我需要使用Base64SecretBundleContentDetails类型来转换SecretBundleContent来访问它的字段。

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

最新更新