首页 > 解决方案 > 向 AWS Lambda 函数发送和读取数据

问题描述

所以我设置了一个 lambda 函数来将一个 txt 文件上传到 S3。如何使用 API Gateway 向函数发送数据?

我已经将 API Gateway 设置为具有 POST 方法。

这是我的 Lambda 函数

import boto3

s3 = boto3.resource('s3')

def lambda_handler(event, context):

    data = 'Totally awesome sword design' #event['data']

    filename = 'awesomeSword2' #event['filename']

    object = s3.Object(BUCKET_NAME, KEY + filename + '.txt')
    object.put(Body=data)

我只需要知道如何将数据和文件名发送到函数(并读取它)

标签: python-3.xamazon-web-servicesaws-lambdaaws-api-gateway

解决方案


将使用您通过 POST 请求发送的数据调用 lambda。

例如,假设您使用以下 JSON 向 API 网关发出 POST 请求:

{“数据”:“一些数据”}

lambda 函数将在 event 参数中接收一个正确的 Python 字典:

{'data': '一些数据'}

然后你可以做这样的事情:

def lambda_handler(event, context):
    data = event.get('data') 
    # this will avoid raising an error if event doesn't contain the data key

    # do whatever you like with Data

推荐阅读