我正在努力寻找关于如何在lambda上设置触发器/规则的任何信息,以便它将通过CLI触发某些事件桥事件,因为AWS上的几乎所有示例都是通过http请求来设置它的.

在这个场景中,我使用docker上的本地堆栈为开发人员系统在本地启动所有内容,所以理想情况下,我会try 计算出需要什么语法才能提供awslocalCLI(基本上是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,但很难找到与此相关的文档/示例,所以任何帮助都是很好的.

推荐答案

要使用AWS CLI创建规则并将事件定向到lambda函数,您可以将put-rule命令与lambda目标一起使用.以下是该语法的一个示例:

awslocal events put-rule --name my-rule --event-pattern '{"source": ["my-source"]}' --target arn:aws:lambda:us-east-1:000000000000:function:some-event-handler

用您的规则名称替换my-rule,用您想要捕获的事件源替换my-source,用lambda函数的ARN替换arn:aws:lambda:us-east-1:000000000000:function:some-event-handler.

如果要捕获所有事件,可以使用通配符*表示event-pattern:

awslocal events put-rule --name my-rule --event-pattern '{"source": ["*"]}' --target arn:aws:lambda:us-east-1:000000000000:function:some-event-handler

.net相关问答推荐

Azure SignalR 和微服务

在本地运行 Azure 函数会在 .NET7 升级后出现无运行时错误

仅使用 .NET GetBytes 方法转换有效字节而不创建问号

您可以为 Func 或 Action 类型的函数或子参数指定默认值吗?

编译时禁用 Dll 文化文件夹

在 web api 控制器(.net 核心)中使用 async/await 或任务

不同命名空间中的部分类

使用 EPPlus 时如何设置列类型

.Net 中的 Int128?

控制台应用程序的退出时

Dapper 是否支持 SQL 2008 表值参数?

react 式扩展使用的好例子

获取 .NET 程序集的 AssemblyInformationalVersion 值?

当我们按下 Enter 键时启动的 WPF 文本框命令

使用 XmlDocument 读取 XML 属性

.Net 正则表达式:单词字符 \w 是什么?

将字典值转换为数组

找不到库 hostpolicy.dll

如何从 HashSet 中检索实际项目?

如何为我的 C# 应用程序创建产品密钥?