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