Я пытаюсь создать новый файл, используя Python в AWS Lambda и записать в него, а затем загрузить в корзину S3. Я хочу, чтобы каждое имя файла было уникальным в зависимости от переменной. В данном случае это submission_id.
import json
import sys
import logging
import boto3
client = boto3.client('s3')
Разбор данных из вызова webhook API (Все это прекрасно работает)
def lambda_handler(event, context):
form_data = json.loads(event['body'])
form_id = (form_data['FormID'])
submission_id = (form_data['UniqueID'])
Создание нового файла с результатами и загрузка на S3.
Хотите использовать submission_id в качестве переменной имени файла.
data_file = open('/tmp/submission_id' + '.txt', 'w+')
data_file.write(str(form_data))
data_file.close()
Загрузить файл в корзину S3
client.upload_file('/tmp/submission_id', 'mb-sentiment' , 'data_file')
Я получаю следующую ошибку:
[ОШИБКА] FileNotFoundError: [ Errno 2] Нет такого файла или каталога: '/ tmp / submission_id' Traceback (последний вызов был последним): файл "/var/task/lambda_function.py", строка 24, в lambda_handler client.upload_file ('/ tmp / submission_id' , 'mb-sentiment', 'data_file')
Кто-нибудь знает, как я могу точно кодировать это? В этом нет ничего сложного, но я новичок ie, набирающий скорость. Проверил некоторые другие сообщения, но ни один, кажется, не рассматривает этот конкретный случай использования.
Спасибо!