🤖 Merge PR #65329 [@types/aws-lambda] Add SelfManagedKafka event, add MSKEvent bootstrapServers property by @panusoi

* [@types/aws-lambda] Add SelfManagedKafka event

* [@types/aws-lambda] Add MSKEvent bootstrapServers property
This commit is contained in:
Panu Soisenniemi
2023-05-03 07:49:36 +03:00
committed by GitHub
parent 28f27d1a1c
commit bcaf8c67b3
6 changed files with 65 additions and 0 deletions

View File

@@ -87,6 +87,7 @@ export * from "./trigger/ses";
export * from "./trigger/sns";
export * from "./trigger/sqs";
export * from './trigger/msk';
export * from "./trigger/self-managed-kafka";
export * from "./trigger/secretsmanager";
export * from "./trigger/s3-event-notification";
export * from "./trigger/amplify-resolver";

View File

@@ -9,6 +9,7 @@ const handler: MSKHandler = (_event, context, callback) => {
const event: MSKEvent = _event;
str = event.eventSource;
str = event.eventSourceArn;
str = event.bootstrapServers;
const record: MSKRecord = event.records[str][num];
str = record.topic;

View File

@@ -0,0 +1,33 @@
import {
SelfManagedKafkaEvent,
SelfManagedKafkaHandler,
SelfManagedKafkaRecord,
SelfManagedKafkaRecordHeader,
} from 'aws-lambda';
declare let headers: SelfManagedKafkaRecordHeader[];
declare let header: SelfManagedKafkaRecordHeader;
declare let key: string;
declare let value: number[];
const handler: SelfManagedKafkaHandler = (_event, context, callback) => {
const event: SelfManagedKafkaEvent = _event;
str = event.eventSource;
str = event.bootstrapServers;
const record: SelfManagedKafkaRecord = event.records[str][num];
str = record.topic;
num = record.partition;
num = record.offset;
num = record.timestamp;
str = record.timestampType;
str = record.key;
str = record.value;
headers = record.headers;
header = headers[0];
key = Object.keys(header)[0];
value = header[key];
callback();
callback(new Error());
};

View File

@@ -17,9 +17,11 @@ export interface MSKRecord {
headers: MSKRecordHeader[];
}
// https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html
export interface MSKEvent {
eventSource: 'aws:kafka';
eventSourceArn: string;
bootstrapServers: string;
records: {
[topic: string]: MSKRecord[];
};

View File

@@ -0,0 +1,27 @@
import { Handler } from '../handler';
export type SelfManagedKafkaHandler = Handler<SelfManagedKafkaEvent, void>;
export interface SelfManagedKafkaRecordHeader {
[headerKey: string]: number[];
}
export interface SelfManagedKafkaRecord {
topic: string;
partition: number;
offset: number;
timestamp: number;
timestampType: 'CREATE_TIME' | 'LOG_APPEND_TIME';
key: string;
value: string;
headers: SelfManagedKafkaRecordHeader[];
}
// https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html
export interface SelfManagedKafkaEvent {
eventSource: 'SelfManagedKafka';
bootstrapServers: string;
records: {
[topic: string]: SelfManagedKafkaRecord[];
};
}

View File

@@ -43,6 +43,7 @@
"test/sns-tests.ts",
"test/sqs-tests.ts",
"test/msk-tests.ts",
"test/self-managed-kafka-tests.ts",
"test/secretsmanager-tests.ts",
"test/s3-event-notification-tests.ts",
"test/amplify-resolver-tests.ts"