有没有一种方法可以使用AWS Lambda将函数的JSON输出保存到S3?

时间:2019-10-13 07:43:20

标签: python amazon-web-services amazon-s3 aws-lambda

我已经用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 :(得分:0)

  • 这只是示例代码aws docs
  • put_object的boto3文档请注意,正文可以是字节或文件。
  • 您的lambda必须对存储桶具有WRITE权限才能向其中添加对象。
    # 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

答案 1 :(得分:0)

我实际上找到了相应的代码。我遇到的问题之一是将主体转换为字节,但是我找到了一种方法。我将尽快发布代码。