正在学习 Go,我正在编写一个组件来管理图片。
我一直在这里查看 s3 库:https : //godoc.org/launchpad.net/goamz/s3#ACL
在 Node 中,我使用 Knox 客户端并像这样连接到我的存储桶:
var bucket = knox.createClient({
key: config.get('AWS_KEY'),
secret: config.get('AWS_SECRET'),
bucket: "bucketName"
});
在 Go s3 库中,我看到了使用 s3 存储桶所需的所有函数,但找不到连接函数 - 与上面的类似。
到目前为止,我在文档中找到了这个:
type Auth struct {
AccessKey, SecretKey string
}
似乎我需要调用这个函数:
func EnvAuth() (auth Auth, err error)
这是 EnvAuth 函数:
func EnvAuth() (auth Auth, err error) {
auth.AccessKey = os.Getenv("AWS_ACCESS_KEY_ID")
auth.SecretKey = os.Getenv("AWS_SECRET_ACCESS_KEY")
// We fallback to EC2_ env variables if the AWS_ variants are not used.
if auth.AccessKey == "" && auth.SecretKey == "" {
auth.AccessKey = os.Getenv("EC2_ACCESS_KEY")
auth.SecretKey = os.Getenv("EC2_SECRET_KEY")
}
if auth.AccessKey == "" {
err = errors.New("AWS_ACCESS_KEY_ID not found in environment")
}
if auth.SecretKey == "" {
err = errors.New("AWS_SECRET_ACCESS_KEY not found in environment")
}
return
}
在 S3 文档中,我看到了我需要的所有东西。我只是不确定我如何使用这个库,这是我第一次使用 Go 库。
有关连接到 AWS/S3 然后进行删除调用的指南将非常有帮助!
非常感谢 :)
相关分类