Доброго времени суток!
Встала задача сделать sls функцию (эндпоинт) с помощью которого можно будет загружать изображения в object storage. Нашел на просторах интернета один
репозиторий, вроде как, то что мне нужно, изображения в OS действительно загружаются но при открытии видно что файл битый или сохранен не верно
Пробовал реализовать функцию на python:
def handler(event, context):
data = event['body']
byte_array = bytearray(data, 'utf-8')
encoded_data = base64.b64encode(bytes(byte_array)).decode('utf-8')
boto_session = boto3.session.Session(
aws_access_key_id='id',
aws_secret_access_key='key'
)
client = boto_session.client(
service_name='s3',
endpoint_url='https://storage.yandexcloud.net',
region_name='ru-central1'
)
client.put_object(Body=encoded_data, Bucket='mybucket', Key='path/test1.png')
return {
'statusCode': 200,
'body': event
}
Все загружается, но после скачивания не открывается.
Отправляю файл через postman и с помощью form-data:
и с помощью binary:
А в Cloud Functions этот файл приходит в следующем формате:
Подскажите пожалуйста, в какую сторону нужно копать, а то я пока в тупик залез. При этом понимаю что тут скорее всего одно из двух, либо не правильно отправляю(что вряд ли) или не правильно принимаю на стороне cloud functions
P.S. Всем огромное спасибо!