mirror of
https://github.com/chenasraf/DefinitelyTyped.git
synced 2026-05-18 01:49:01 +00:00
🤖 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:
1
types/aws-lambda/index.d.ts
vendored
1
types/aws-lambda/index.d.ts
vendored
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
33
types/aws-lambda/test/self-managed-kafka-tests.ts
Normal file
33
types/aws-lambda/test/self-managed-kafka-tests.ts
Normal 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());
|
||||
};
|
||||
2
types/aws-lambda/trigger/msk.d.ts
vendored
2
types/aws-lambda/trigger/msk.d.ts
vendored
@@ -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[];
|
||||
};
|
||||
|
||||
27
types/aws-lambda/trigger/self-managed-kafka.d.ts
vendored
Normal file
27
types/aws-lambda/trigger/self-managed-kafka.d.ts
vendored
Normal 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[];
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user