Как в Amazon S3 создать пустую папку?

«Как в Amazon S3 создать пустую папку?» — вопрос из категории Облачные платформы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Amazon S3 нет иерархической структуры папок — это объектное хранилище с плоским пространством ключей. Однако можно создать объект-префикс, который будет имитировать папку в консоли управления и инструментах. Это делается путем создания объекта с ключом, оканчивающимся на /.

Создание через AWS CLI:

aws s3api put-object --bucket my-bucket --key "my-folder/"

Создание через AWS SDK для Python (boto3):

import boto3

s3 = boto3.client('s3')
s3.put_object(Bucket='my-bucket', Key='my-folder/')

Важные детали:

  • Такой объект имеет нулевой размер и служит лишь визуальным маркером.
  • Удаление этого объекта-префикса не удаляет другие объекты с ключами, начинающимися на my-folder/. Для их удаления требуется явная операция с префиксом.
  • В консоли AWS кнопка "Create folder" автоматически создает такой объект-префикс.