Работа над обучением Go, и я пишу компонент для управления фотографиями.
Я смотрю на библиотеку s3 здесь: https://godoc.org/launchpad.net/goamz/s3#ACL
В узле я использую клиента 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, а затем удаление вызова будет очень полезно!
Большое спасибо :)