У меня есть папка с кучей подпапок и файлов, которые я извлекаю с сервера и присваиваю переменной. Я хочу загрузить эти данные в корзину S3 с той же структурой папок, используя boto3.
Структура папки:
└── main_folder
├── folder
│ ├── folder
│ │ ├── folder
│ │ │ └── a.json
│ │ ├── folder
│ │ │ ├── folder
│ │ │ │ └── b.json
│ │ │ ├── folder
│ │ │ │ └── c.json
│ │ │ └── folder
│ │ │ └── d.json
│ │ └── folder
│ │ └── e.json
│ ├── folder
│ │ └── f.json
│ └── folder
│ └── i.json
try:
for dirname in utils['BucketData']:
cmd = ['aws', 's3', 'sync', dirname, 's3://{}/{}/'.format(input_bucket_name, folder_name)]
sp = subprocess.run(cmd)
except Exception as e:
logger.debug('Command error: {}'.format(e))
Переменные детали:
utils['BucketData'] = It is data(mentioned is folder structure) which fetched from server. It is in dict form
dirname = fetching directories and copying to s3 location
input_bucket_name = Bucket name where my folder is located.
folder_name = where I want copy the data.
Когда я бегу, я получаю
The user-provided path 'directory name' does not exist.
Как я могу скопировать точные данные с той же структурой папок, которая назначена переменной в S3?
Что здесь не так?