我知道可以将参数传递给在AWS Lambda上运行的Java程序以进行测试.但如果调度事件调用此程序,我不知道如何传递这些参数.
有谁知道这是否可能?如果有,怎么样?我无法找到任何相关信息.
提前致谢
您可以间接传递参数,例如通过将参数存储在s3或dynamo db上。在每个计划周期中,您可以从预定位置读取并将其传递给程序。通常,如果我需要使用共享的源代码启动多个计划的lambda函数,我会将文件(任何可读格式)与源代码本身捆绑在一起,并在运行期间读取它。@garnaat是正确的,此外,当前不可能动态启动新的lambda函数,这带来了极大的不便。
您可以利用lambda配置中的环境变量。然后,您可以通过以下方式在Java程序上阅读它们:
System.getenv("VAR_NAME")
您可以将CloudWatch规则创建为时间表,并将目标的输入配置为常量json值:
CloudWatch->事件->规则->时间表-> Targers
将配置输入设置为即时(JSON文本),然后在其中传递任何有效的JSON数据。
在Lambda中,您可以将常量输入作为输入对象进行访问。