Я пытаюсь создать предварительно назначенный URL-адрес для файла в моем S3-контейнере, используя go sdk.
Когда я запускаю программу из командной строки, я получаю предварительно назначенный URL-адрес, который не содержит X-Amz-Security-Token.
Но если я использую один и тот же код из лямбда-функции, я всегда получаю X-Amz-Security-Token в URL.
Я не уверен, почемуэто поведение отличается.
Вот код -
func CreatePreSignedURL(bucketName string, path string) (string, error) {
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-east-1")},
)
svc := s3.New(sess)
req, _ := svc.GetObjectRequest(&s3.GetObjectInput{
Bucket: aws.String(bucketName),
Key: aws.String(path),
})
urlStr, err := req.Presign(60 * time.Minute)
if err != nil {
fmt.Println("error in generarting presigned URL is ", err)
return urlStr, err
}
return urlStr, nil
}
URL, сгенерированный lambda, довольно длинный, для моего приложения я ожидаю более короткий URL без X-Amz-Security-Знак