Используя aws-sdk-go , я смог успешно скопировать объекты в моем контейнере s3, когда ключ содержит обычные буквенно-цифровые символы и несколько специальных символов, таких как (-, _).Но когда ключ содержит арабский символ, golang aws-sdk выдает ошибку.
NoSuchKey: The specified key does not exist.
status code: 404, request id: 438DC6xxxxxx, host id: Xp+xxxxxxxxxx
Ключ в корзине выглядит следующим образом:
public/10009/img__١٣٤١١١-1600x1200.jpg
Код также довольно прост:
func copyObject(existingKey, key string, svc *s3.S3) {
copyObjectInput := &s3.CopyObjectInput{
Bucket: aws.String("dummy-bucket"),
CopySource: aws.String(existingKey),
Key: aws.String(key),
}
result, err := svc.CopyObject(copyObjectInput)
if err != nil {
log.Fatal("Copy failed due to: ", err) // logs the above error here
}
spew.Dump(result)
}
Я также распечатываю ключ, на всякий случай: dummy-bucket/public/10009/img__١٣٤١١١-1600x1200.jpg
Мне также удалось успешно загрузить изображениеиспользуя aws-sdk-go
, с тем же ключом.