使用无服务器框架创建一个消耗 AWS Kinesis 流数据的 lambda。
进入流的消息看起来像这样。
{ "id": "f1986417-0a4e-445f-b07a-e5527c0adc2f", "success": true, "result": "TagNotFound", "type": "Access", "tagId": "TEST:04E026D27A5884", "scanTime": "2023-07-31T21:29:52.600Z", "companyId": null, "createdAt": "2023-07-31T21:29:55.172Z", "scannedBy": "jjjjjj", "mobileId": "12435" }
lambda 上的过滤器模式看起来像这样。
filterPatterns: - partitionKey: [ "MyPartitionKey" ] - data: tagId: - prefix: 'TEST:' success: [ true ]
问题是,这应该有效吗?只要我有一个partitionKey过滤器,数据过滤器就会被忽略,并且所有记录(无论前缀或成功)都会传递给lambda。如果我删除partitionKey过滤器,数据键将按预期工作。
我找不到任何文件表明这是预期的行为。
我希望这两个过滤器能够协同工作。我尝试删除partitionKey过滤器以使数据过滤器正常工作。在这种情况下,流上的所有记录无论如何都具有相同的partitionKey,因此实际上不需要过滤器。
此时这更多的是一个学习的事情。我只是想更好地了解是否有根本原因导致此功能不起作用。