Есть ли способ сохранить вывод JSON функции в S3 с помощью AWS Lambda? - PullRequest
0 голосов
/ 13 октября 2019

Я написал функцию в Python для анализа документов и извлечения пар ключ-значение из форм в этих документах. Ниже приведен только его обработчик.

def handler(event, context):
  bucket = event['Records'][0]['s3']['bucket']['name']
  key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')

  try:
      document = TTFunction(bucket,key)
      KVpairs=[]
      for page in document.pages:
        KVpairs= output(page)

Когда я печатаю вывод этой функции, он находится в формате JSON. Есть ли способ сохранить этот вывод в виде JSON или CSV в том же сегменте?

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Я действительно нашел код для этого. Одна из моих проблем заключалась в преобразовании тела в байты, но я нашел способ. Я скоро выложу код.

0 голосов
/ 13 октября 2019
  • Это просто пример кода aws docs
  • boto3 docs для put_object обратите внимание, что тело может быть байтами или файлом.
  • Вы, лямбда, должны иметь права ЗАПИСАТЬ на ведро, чтобы добавить к нему объект.
    # Put the object
    s3 = boto3.client('s3')
    try:
        s3.put_object(Bucket=dest_bucket_name, Key=dest_object_name, Body=object_data)
    except ClientError as e:
        logging.error(e)
        return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...