Я создал приложение Delphi, из которого я хочу читать и писать из корзины Amazon S3 (простой сервис хранения).
В консоли управления S3 я создал новое ведро и установил Блокировать все публичные c доступ к Вкл.
Затем я создал нового пользователя для IAM (управление идентификацией и доступом) и предоставил этому пользователю привилегии AmazonS3FullAccess (на данный момент). В моем приложении я добавил компонент TAmazonConnectionInfo в свой проект и установил для свойства AccountKey секретный ключ доступа, а для свойства AccountName - идентификатор ключа своей учетной записи этого пользователя IAM.
В моем коде я создаю экземпляр Класс TAmazonStorageService, передав ему объект TAmazonConnectionInfo в конструкторе. Затем я вызываю метод UploadObject, которому я передаю имя сегмента, имя объекта и TArray, который содержит объект, который я хочу сохранить. Вызов UploadObject возвращает False. Я пробовал несколько разных байтовых массивов, в том числе один на основе примера, показанного в одном из видео YouTube, на которое я ссылался в нижней части этого поста, поэтому я почти уверен, что это не проблема с объектом, которым я являюсь пытаюсь сохранить.
Я попытался установить для параметра Блокировать доступ всех пользователей c значение Выкл., но это не решило проблему. Я не знаю, сколько потребуется времени, чтобы эти настройки вступили в силу, но после получаса не было различий в результате.
Либо я недостаточно настроил свой объект TAmazonConnectionInfo, либо есть один или больше объектов, которые мне нужно добавить в проект, или некоторая конфигурация, которую мне нужно выполнить в корзине.
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что мое ведро S3 находится в восточной части США (штат Огайо). Свойство Region компонента TAmazonConnectionInfo установлено в amzrUSEast1, но я не уверен, что это правильно. Я попытался установить Region для amzrNotSpecified, но это не решило проблему.
Также я попытался установить StorageEndPoint для s3.us-east-2.amazon aws .com (http) и s3-accesspoint. us-east-2.amazon aws .com (https), основываясь на комментариях Павла.
Я исчерпал свои возможности. Если вы успешно работаете с ведрами S3 из Delphi, я был бы признателен, если бы вы помогли мне указать правильное направление.
Я использую Delphi Rio 10.3.3 на Windows 10 64-битных
Ссылки:
https://www.youtube.com/watch?v=RUT9clew4PM&t=396s
https://www.youtube.com/watch?v=rtZkVAOvavU&t=1582s
https://www.youtube.com/watch?v=8VjTEtK_VaM&list=PLwUPJvR9mZHg3YgQKG8QCJAqdNxZyDVfg&index=50&t=0s