我正在使用以下代码来创建一个预先签名的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的背景,所以,如果这个问题非常基本,我很抱歉。
更好地说明,我正在尝试做到这一点...但是走了:
const CONFIGURATIONS = JSON.parse(process.env.CONFIGURATIONS)
const S3 = new AWS.S3()
S3.generatePresignedUrl('putObject', CONFIGURATIONS, callback...)
非常感谢!
如果我正确理解您的问题,则需要从ENV变量中检索存储桶和密钥名称。这很容易去做。os
软件包具有GetEnv
功能。
假设您的ENV变量称为AWS_BUCKET
和AWS_KEY
这是获取值的方法:
bucketName := Getenv("AWS_BUCKET")
key := Getenv("AWS_KEY")
您可以在此处检查包装文档。