Основываясь на других ваших вопросах (так как вы удалили?), Ваши требования:
- Массив имен файлов передается в функцию
- Преобразование
/
в -
чтобы упростить имя файла - Вы хотите создать zip-файл с этими файлами
Следовательно, это будет что-то вроде:
import boto3
import zipfile
s3_client = boto3.client('s3')
bucket = os.environ['encryption_bucket']
def encrypt_zip(event, context):
key_array = [key.replace('/', '-') for key in event['keys']]
# Download objects
for key in key_array:
response = s3_client.download_file(bucket, key, '/tmp/' + key)
# Zip objects
with ZipFile('/tmp/foo.zip', 'w') as myzip:
for key in key_array:
myzip.write('/tmp/' + key)
myzip.close()
# Put zip file in S3
s3_client.upload_file('/tmp/foo.zip', bucket, 'foo.zip')
(у меня нет 'Я проверил это, и я просто скопировал код Zipfile из документации , поэтому я не уверен, что это правильно.)
Я также не уверен, что вы пытаетесьделать с вещами /
и -
, потому что это зависит от списка передаваемых ключей и от того, какие объекты называются в S3.