Скопируйте папку с подпапками и файлами с сервера на S3 с помощью AWS CLI - PullRequest
0 голосов
/ 03 июня 2019

У меня есть папка с кучей подпапок и файлов, которые я извлекаю с сервера и присваиваю переменной. Я хочу загрузить эти данные в корзину 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? Что здесь не так?

...