Мой вопрос возник, когда я испытал два разных поведения в URL объекта из файлов json, хранящихся в корзине s3.
Рассмотрим файл json: mydata.json
Если я загружаю этот файл с помощью панели инструментов s3 с веб-сайта AWS, я могу просматривать данные в браузере: // s3-us-west-2.amazonaws.com/bucket/folder/mydata.json. Я также могу читать эти данные из другого приложения, если я создаю определенную конфигурацию в корзине s3.
С другой стороны, если я использую библиотеку boto3
для python и загружаю тот же файл в том же контейнере (делая файл общедоступным в процессе), когда я нажимаю URL объекта , он загружает файл , но он не открывает данные в браузере.
Это код, который я использовал:
# upload json file
bucket.upload_file(path, jsonkey)
object_acl = s3.ObjectAcl('bucket_name', jsonkey)
bucket_response = object_acl.put(ACL='public-read')
Я исследовал свойства файла, такие как метаданные. Когда я загружаю файл через панель мониторинга, назначаемые метаданные Content-Type: application/json
, а через boto3
- Content-Type: binary/octet-stream
. Я действительно не знаю, влияют ли метаданные на поведение объекта URL .
В этом контексте как правильно настроить файлы в формате json для загрузки или чтения? Я имею в виду, какая основная конфигурация влияет на поведение URL объекта ?
Я не смог найти существенную разницу между обоими методами (панель инструментов и boto3) в свойствах или разрешениях, кроме Content-Type
в метаданных. Однако, когда я пытался изменить Content-Type
, поведение было таким же.
Любая другая информация, которую я могу предоставить, чтобы уточнить этот вопрос, не стесняйтесь спрашивать. Заранее спасибо.