在Python中不使用API网关将参数传递给AWS Lamda函数
我目前正在开发lambda函数(Python),它是在CloudWatch事件中使用cron表达式触发的 我想将一些数据传递给函数(最好是以字典的形式),然后这些值可以在在Python中不使用API网关将参数传递给AWS Lamda函数,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,我目前正在开发lambda函数(Python),它是在CloudWatch事件中使用cron表达式触发的 我想将一些数据传递给函数(最好是以字典的形式),然后这些值可以在lambda_处理程序中使用,以根据自定义输入参数进行计算 我做了一些研究,有一些方法使用API网关,但我没有自由使用API网关 有没有一种方法可以将自定义输入参数传递给我的函数? 我是AWS的新手,所以这个问题对老兵来说可能很傻。 提前谢谢 编辑1: 在尝试了第一个答案中提供的解决方案之后,我面临着其他问题 输入配置: 下面
lambda_处理程序中使用,以根据自定义输入参数进行计算
我做了一些研究,有一些方法使用API网关,但我没有自由使用API网关
有没有一种方法可以将自定义输入参数传递给我的函数?
我是AWS的新手,所以这个问题对老兵来说可能很傻。
提前谢谢
编辑1:
在尝试了第一个答案中提供的解决方案之后,我面临着其他问题
输入配置:
下面是lambda函数的一段代码,我试图将输入数据推送到Postgres数据库中:
s={'upload_date': today,'data':'Test Data','Remark':event["data"]}
log_success = pd.DataFrame(data = [s])
log_success.to_sql(log_table, con, schema = "some_existing_schema", if_exists = "append",index = False, method = "multi")
错误:
[错误]键错误:“数据”
回溯(最近一次呼叫最后一次):
lambda_处理程序中的文件“/var/task/test.py”,第38行
s={'upload_date':今天,'data':'Test data','Remark':事件[“data”]}
当您在CW事件规则中将lambda配置为目标时,您可以配置将传递给函数的输入
例如,您可以传递一个常量字符串或json:
使用可以修改通常传递给函数的常规CW事件数据,并向其中添加额外信息
但您必须记住,这些是固定输入。对于CW事件规则中的cron
对函数的每次调用,输入参数都是相同的
如果希望自己触发lambda函数并每次传递自定义参数,则必须使用aws api(例如,aws lambda invoke
aws CLI)或通过api网关执行。第一种方法需要AWS凭据来调用函数,而第二种方法可以公开并在没有AWS凭据的情况下工作。您能提供一些您已经做过的代码示例吗?您好,感谢您的回答。详细说明您建议的第一种方法(aws lambda调用aws-CLI)或共享一些资源?我觉得美国焊接学会在这方面做的还不够documentation@umangMistryBO函数的直接调用被记录下来。要使其正常工作,您必须安装并设置cli使用的。是否有办法安排调用?原因在观察您共享的文档时,没有提到任何计划表达式。嗨,我在AWS CW中尝试了使用计划规则的固定输入方法(上图)。我试图在函数中访问它,但我得到了一个错误。你能指出我错过的地方吗?Thanks@umangMistryBO您必须显示代码、错误消息并描述CLoudWatch设置。没有这些,我只能猜测。也许是新问题?不过,如果我的回答有帮助,我们将不胜感激。