触发AWS Lambda函数时遇到问题。
当我单击Test时,该函数工作得非常好,但我创建了一个新的计划规则,该规则每分钟触发Lambda函数。它工作一次,然后再也不会工作了。我还尝试使用Cron,结果相同。
日志应输出打印功能,但它们会读取以下内容:
02:07:40
START RequestId: |numbers| Version: 8
02:07:40
END RequestId: |numbers|
我单击了“CloudWatch Events将为目标添加必要的权限,以便在触发此规则时调用它们”,所以我怀疑我的权限不是问题。
顺便说一句,我已经在控制台上完成了所有工作,但不确定如何正确使用CLI。任何帮助都会很好。非常感谢。
好吧,这就是我出错的地方:
根据这个答案:https://forums.aws.amazon.com/thread.jspa?threadID=264583AWS只运行一次整个S3 zip包。我需要将所有代码放入处理程序中以修复此问题。
最好的方法是从简单开始,然后逐步达到最终目标。
首先创建一个AWS Lambda函数,该函数只需将某些内容打印到日志文件中。这是Python中的一个示例:
def lambda_handler(event, context):
print ('Within function')
然后,确保已使用AWSLambdaBasicExecutionRole
策略或其他授予对CloudWatch日志访问权限的策略为该函数分配了IAM角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
然后,将CloudWatch Events配置为每分钟触发一次函数,并检查Amazon CloudWatch Logs中的日志文件以确认函数正在执行。
这将有望正常工作。然后,只需比较配置,找出现有功能没有每分钟成功运行的原因。您还可以查看“监视”选项卡,查看是否有任何执行产生了错误。
我实现了AWS Eventbridge规则和Lambda函数的基本组合作为其目标。假设该规则基于所有AWS自动缩放事件创建一个事件,并调用Lambda。当触发现有ASG的缩放操作时,此操作效果良好,但当创建具有相同前缀的新ASG时,规则不会做出反应。旧ASG名称:test-ASG-lc-123新ASG名称:test-ASG-lc-124 甚至可以使用通配符吗?
我部署了一个用Python2编写的服务。7使用AWS Lambda,它是关于从一些页面提取数据并将结果发送到web应用程序。该服务由AWS CloudWatch事件触发(固定速率为5分钟)。 但是,我发现有时服务会一次触发两次。我得到这个是因为有两个日志流打印了相同的数据和结果,但具有不同的Request estID。并且数据库有重复的数据,这表明两者都成功工作。看起来服务几乎无缘无故地同时触发了
我正在使用aws lambda函数将一个桶中上传的wav文件转换为mp3格式,然后将文件移动到另一个桶中。它工作正常。但触发有个问题。当我上传小的wav文件时,lambda函数被调用一次。但是当我上传一个大尺寸的wav文件时,这个功能会被触发多次。 我已经谷歌了这个问题,发现它是无状态的,所以它会被多次调用(不确定这个触发器是针对多次上传还是同一个上传)。 https://aws.amazon.c
问题内容: 对于jQuery,这是一个非常奇怪的问题。我正在加载一个div 页面加载。每条记录都是表格数据,并带有与之关联的“删除” ajax函数。当页面加载并单击“删除”链接时,ajax调用会触发。但是,一旦触发事件,就会从ajax调用返回数据,并且div中会填充数据(但页面不会刷新或重新加载)。当我再次单击链接时,ajax脚本将不会触发。这是我的代码: 问题答案: 当您删除元素然后通过java
我想在点击某个div(“.checker”)后触发点击输入事件。换句话说,点击'.checker'将模拟点击复选框上的点击事件,远程检查它。 我写的代码可以工作,但click只有在第二次单击后才触发,第一次单击失败时才触发。这种情况甚至不会发生在'.checker'上,也会发生在checkbox上。 下面的所有HTML都包装在jquery折叠菜单中。单击“H3”后,“.sub-tree-wrap”
我已经在Terraform中设置了以下内容。所以有两条事件规则,上午8点开始\u事件,下午6点停止\u事件。 每个事件都将一个操作传递给lambda 这很有效 我面临的问题是,我无法让Terraform将start\u事件与lambda函数相关联。我进入AWS控制台,可以手动将CloudWatch start\u事件触发器添加到lambda函数中。 如果我有start_event资源 它会抱怨语句