Node.js AWS Lambda听卡夫卡留言
我尝试将Lambda用作卡夫卡消费者,在收到新的卡夫卡消息时触发。 我有一个。yaml模板Node.js AWS Lambda听卡夫卡留言,node.js,amazon-web-services,aws-lambda,Node.js,Amazon Web Services,Aws Lambda,我尝试将Lambda用作卡夫卡消费者,在收到新的卡夫卡消息时触发。 我有一个。yaml模板 AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > my-service Sample SAM Template for my-service Globals: Function: Timeout: 3 Api: Cors:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
my-service
Sample SAM Template for my-service
Globals:
Function:
Timeout: 3
Api:
Cors:
AllowMethods: "'POST, GET, PUT'"
AllowHeaders: "'*'"
AllowOrigin: "'*'"
AllowCredentials: false
Resources:
ProcessMSKfunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: index.handler
Runtime: nodejs12.x
MemorySize: 312
Timeout: 5000
Events:
MSKEvent:
Type: MSK
Properties:
StartingPosition: LATEST
Stream: [...]
Topics:
- MyTopic
Policies:
- AWSLambdaMSKExecutionRole: {}
这个Lambda正在执行一个示例处理程序
let response;
exports.handler = async (event) => {
// Iterate through keys
for (let key in event.records) {
console.log('Key: ', key);
// Iterate through records
event.records[key].map((record) => {
console.log('Record: ', record);
// Decode base64
const msg = Buffer.from(record.value, 'base64').toString();
console.log('Message:', msg);
});
}
};
但是,当我尝试构建、执行sam构建时,会出现错误:
“文件”C:。。。
…站点包\samtranslator\sdk\resource.py“,
第24行,在init
self.type=resource\u dict.get(“type”)AttributeError:“list”对象没有属性“get”
是否有人有解决此类错误的替代方案
我将.yaml文件更改为使用类型API并接受“GET”请求,现在它可以工作了
Stream:[…]
这不应该是一个字符串吗?错误也表示与代码相同。
Events:
GET:
Type: Api
Properties:
Path: /test
Method: GET