我正在努力寻找关于如何在lambda上设置触发器/规则的任何信息,以便它将通过CLI触发某些事件桥事件,因为AWS上的几乎所有示例都是通过http请求来设置它的.
在这个场景中,我使用docker上的本地堆栈为开发人员系统在本地启动所有内容,所以理想情况下,我会try 计算出需要什么语法才能提供awslocal
CLI(基本上是AWS CLI的包装器).
到目前为止,我似乎已经创建了lambda,但是我找不到需要运行什么命令来设置将特定事件定向到lambda的规则.
# Setup IAM stuffs
awslocal iam create-role --role-name lambda-dotnet-ex --assume-role-policy-document '{"Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'
awslocal iam attach-role-policy --role-name lambda-dotnet-ex --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
# Setup handler for each event type
awslocal lambda create-function --function-name some-event-handler --zip-file fileb:///Dist/SomeEventHandlingLambda.0.0.0.zip --role arn:aws:iam::000000000000:role/lambda-dotnet-ex
然后在lambda内部有一个doetnet(C#)处理程序签名,如下所示:
[LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]
public async Task ProcessEvent(CloudWatchEvent<string> message, ILambdaContext context)
目前,我可以将所有事件发送到这个lambda,但很难找到与此相关的文档/示例,所以任何帮助都是很好的.