我正在使用以下代码创建预先签名的put url:
svc := s3.New(nil)
req, _ := svc.PutObjectRequest(&s3.PutObjectInput{
Bucket: aws.String("myBucket"),
Key: aws.String("myKey"),
})
str, err := req.Presign(15 * time.Minute)
log.Println("The URL is:", str, " err:", err)
但我想从环境变量中获取配置:
CONFIGURATIONS={ "Bucket": "myBucket", "Key": "myKey" }
我只有两个星期的Golang,我主要有Node.js的背景,所以,如果这个问题非常基本,我很抱歉。
为了更好地说明,我正在尝试这样做......但是在Go:
const CONFIGURATIONS = JSON.parse(process.env.CONFIGURATIONS)
const S3 = new AWS.S3()
S3.generatePresignedUrl('putObject', CONFIGURATIONS, callback...)
非常感谢!
答案 0 :(得分:0)
如果我正确理解您的问题,您需要从env变量中检索存储桶和密钥名称。这很容易去做。 os
包具有GetEnv
功能。
假设您的env变量名为AWS_BUCKET
和AWS_KEY
,这是获取值的方法:
bucketName := Getenv("AWS_BUCKET")
key := Getenv("AWS_KEY")
您可以查看包文档here。