如何通过使用Python向AWS Lambda函数传递参数?

3
在我的应用程序中,我需要输入数据来调用我的Lambda函数,我该怎么做呢? 非常感谢。

我不熟悉lambda,但我知道lambda可以通过事件触发,所以我想传递参数来调用lambda,是否有任何蓝图可以做到这一点? - Rick.Wang
2个回答

1

调用函数Payload参数可能是您要查找的内容。

格式为"字节或可寻址文件对象",这意味着一个字节字符串,或者一个打开的文件句柄,或者也许是BytesIO?

这对我有用:

    import boto3
    import json
    import pprint

    params = {"day": "20220410"}
    client = boto3.client('lambda')
    response = client.invoke(
        FunctionName='my_lambda_function',
        InvocationType='RequestResponse',
        Payload=json.dumps(params).encode(),
    )
    pprint.pp(response['Payload'].read())

lambda函数从事件字典中接收参数:

def my_lambda_function(event, context):
    day = event['day']

-1

由于您只提到了

在我的应用程序中,我将输入数据以调用我的 Lambda

我认为您可能想从应用程序中调用 Lambda。

为此,

    import boto3    
    client = boto3.client('lambda')
  • 使用 invoke() 调用带参数的函数:
    response = client.invoke(
        FunctionName='string',
        InvocationType='Event'|'RequestResponse'|'DryRun',
        LogType='None'|'Tail',
        ClientContext='string',
        Payload=b'bytes'|file,
        Qualifier='string'
    )

您可以使用官方文档进行更多探索Lambda boto 文档

另外,

Lambda 函数可以通过以下方式调用:

  • AWS 服务事件(例如:SNS 触发)
  • 通过 AWS API Gateway 创建的 API。
  • Amazon CloudWatch 定时作业
  • 利用 AWS Lambda API 进行 API 调用。

文档:调用 AWS Lambda 函数的方式


4
我不认为这个回答解决了问题。问题明确询问如何向函数调用添加参数,而你只是复制了AWS文档,仅仅说明了如何调用函数。 - majackson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接