@composurecdk/lambda 0.11.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -17
- package/dist/commonjs/alarm-config.d.ts +1 -1
- package/dist/commonjs/event-sources/composure-event-source.d.ts +3 -3
- package/dist/commonjs/event-sources/composure-event-source.d.ts.map +1 -1
- package/dist/commonjs/event-sources/composure-event-source.js +5 -1
- package/dist/commonjs/event-sources/composure-event-source.js.map +1 -1
- package/dist/commonjs/event-sources/dynamodb-event-source.d.ts +2 -2
- package/dist/commonjs/event-sources/dynamodb-event-source.d.ts.map +1 -1
- package/dist/commonjs/event-sources/dynamodb-event-source.js +2 -26
- package/dist/commonjs/event-sources/dynamodb-event-source.js.map +1 -1
- package/dist/commonjs/event-sources/event-source-relationship-guards.d.ts.map +1 -1
- package/dist/commonjs/event-sources/event-source-relationship-guards.js +6 -3
- package/dist/commonjs/event-sources/event-source-relationship-guards.js.map +1 -1
- package/dist/commonjs/event-sources/kinesis-event-source.d.ts +129 -0
- package/dist/commonjs/event-sources/kinesis-event-source.d.ts.map +1 -0
- package/dist/commonjs/event-sources/kinesis-event-source.js +102 -0
- package/dist/commonjs/event-sources/kinesis-event-source.js.map +1 -0
- package/dist/commonjs/event-sources/stream-event-source-defaults.d.ts +1 -1
- package/dist/commonjs/event-sources/stream-event-source-defaults.d.ts.map +1 -1
- package/dist/commonjs/event-sources/stream-event-source-defaults.js +3 -1
- package/dist/commonjs/event-sources/stream-event-source-defaults.js.map +1 -1
- package/dist/commonjs/event-sources/stream-event-source.d.ts +32 -0
- package/dist/commonjs/event-sources/stream-event-source.d.ts.map +1 -0
- package/dist/commonjs/event-sources/stream-event-source.js +44 -0
- package/dist/commonjs/event-sources/stream-event-source.js.map +1 -0
- package/dist/commonjs/function-alarms.d.ts.map +1 -1
- package/dist/commonjs/function-alarms.js +7 -3
- package/dist/commonjs/function-alarms.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +5 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/esm/alarm-config.d.ts +1 -1
- package/dist/esm/event-sources/composure-event-source.d.ts +3 -3
- package/dist/esm/event-sources/composure-event-source.d.ts.map +1 -1
- package/dist/esm/event-sources/composure-event-source.js +5 -1
- package/dist/esm/event-sources/composure-event-source.js.map +1 -1
- package/dist/esm/event-sources/dynamodb-event-source.d.ts +2 -2
- package/dist/esm/event-sources/dynamodb-event-source.d.ts.map +1 -1
- package/dist/esm/event-sources/dynamodb-event-source.js +3 -27
- package/dist/esm/event-sources/dynamodb-event-source.js.map +1 -1
- package/dist/esm/event-sources/event-source-relationship-guards.d.ts.map +1 -1
- package/dist/esm/event-sources/event-source-relationship-guards.js +6 -3
- package/dist/esm/event-sources/event-source-relationship-guards.js.map +1 -1
- package/dist/esm/event-sources/kinesis-event-source.d.ts +129 -0
- package/dist/esm/event-sources/kinesis-event-source.d.ts.map +1 -0
- package/dist/esm/event-sources/kinesis-event-source.js +97 -0
- package/dist/esm/event-sources/kinesis-event-source.js.map +1 -0
- package/dist/esm/event-sources/stream-event-source-defaults.d.ts +1 -1
- package/dist/esm/event-sources/stream-event-source-defaults.d.ts.map +1 -1
- package/dist/esm/event-sources/stream-event-source-defaults.js +3 -1
- package/dist/esm/event-sources/stream-event-source-defaults.js.map +1 -1
- package/dist/esm/event-sources/stream-event-source.d.ts +32 -0
- package/dist/esm/event-sources/stream-event-source.d.ts.map +1 -0
- package/dist/esm/event-sources/stream-event-source.js +41 -0
- package/dist/esm/event-sources/stream-event-source.js.map +1 -0
- package/dist/esm/function-alarms.d.ts.map +1 -1
- package/dist/esm/function-alarms.js +7 -3
- package/dist/esm/function-alarms.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { KinesisConsumerEventSource, KinesisEventSource, } from "aws-cdk-lib/aws-lambda-event-sources";
|
|
2
|
+
import { streamEventSource } from "./stream-event-source.js";
|
|
3
|
+
import { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./stream-event-source-defaults.js";
|
|
4
|
+
/**
|
|
5
|
+
* Secure, AWS-recommended defaults applied to every Kinesis event source built
|
|
6
|
+
* with {@link kinesisEventSource} or {@link kinesisConsumerEventSource} — the
|
|
7
|
+
* shared {@link DEFAULT_STREAM_EVENT_SOURCE_PROPS} (start at the stream tip,
|
|
8
|
+
* report partial batch failures, bisect a failing batch, emit ESM metrics).
|
|
9
|
+
* Each property can be overridden via the factory's `props` argument.
|
|
10
|
+
*
|
|
11
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-parameters.html
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_KINESIS_EVENT_SOURCE_PROPS = DEFAULT_STREAM_EVENT_SOURCE_PROPS;
|
|
14
|
+
/**
|
|
15
|
+
* Wraps a Kinesis data stream as a Lambda {@link IEventSource} using
|
|
16
|
+
* **shared-throughput** (standard) iterators, deferring resolution when the
|
|
17
|
+
* stream (or the `onFailure` destination) is a `ref()` to a sibling
|
|
18
|
+
* component's output.
|
|
19
|
+
*
|
|
20
|
+
* Register the result with {@link IFunctionBuilder.addEventSource}: the
|
|
21
|
+
* builder resolves the `ref()`, attaches the source, and (because
|
|
22
|
+
* `addEventSource` calls `source.bind(fn)`) grants the function's
|
|
23
|
+
* least-privilege execution role permission to read the stream — including
|
|
24
|
+
* `kms:Decrypt` when the stream is encrypted with a customer-managed key.
|
|
25
|
+
*
|
|
26
|
+
* Applies {@link DEFAULT_KINESIS_EVENT_SOURCE_PROPS}; pass `props` to override.
|
|
27
|
+
* For a dedicated 2 MB/s-per-shard read pipe instead of sharing the shard's
|
|
28
|
+
* read throughput with other consumers, use {@link kinesisConsumerEventSource}.
|
|
29
|
+
*
|
|
30
|
+
* ## Failure handling (AWS Well-Architected)
|
|
31
|
+
*
|
|
32
|
+
* By default Lambda retries a failing batch until its records expire from the
|
|
33
|
+
* stream, blocking the shard for up to the stream's retention period (24 h by
|
|
34
|
+
* CDK's default, 7 days with `@composurecdk/kinesis`). `bisectBatchOnError` is
|
|
35
|
+
* on by default to isolate a poison record; for durable failure handling also
|
|
36
|
+
* bound `retryAttempts` / `maxRecordAge` **and** set `onFailure` so exhausted
|
|
37
|
+
* records land in a dead-letter destination instead of being dropped —
|
|
38
|
+
* bounding retries without one triggers a suppressible synth-time warning (see
|
|
39
|
+
* {@link STREAM_DLQ_WARNING_ID}).
|
|
40
|
+
*
|
|
41
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-parameters.html
|
|
42
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-batchfailurereporting.html
|
|
43
|
+
*
|
|
44
|
+
* @param stream - The source stream, concrete or a `ref()` to a sibling.
|
|
45
|
+
* @param props - Overrides for {@link DEFAULT_KINESIS_EVENT_SOURCE_PROPS} and
|
|
46
|
+
* any other {@link KinesisStreamEventSourceProps}.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* compose(
|
|
51
|
+
* {
|
|
52
|
+
* telemetry: createStreamBuilder(),
|
|
53
|
+
* dlq: createQueueBuilder("dlq"),
|
|
54
|
+
* processor: createFunctionBuilder()
|
|
55
|
+
* .runtime(Runtime.NODEJS_22_X)
|
|
56
|
+
* .handler("index.handler")
|
|
57
|
+
* .code(Code.fromAsset("lambda"))
|
|
58
|
+
* .addEventSource(
|
|
59
|
+
* "telemetry",
|
|
60
|
+
* kinesisEventSource(ref("telemetry", (r) => r.stream), {
|
|
61
|
+
* retryAttempts: 3,
|
|
62
|
+
* onFailure: ref("dlq", (r) => r.queue),
|
|
63
|
+
* }),
|
|
64
|
+
* ),
|
|
65
|
+
* },
|
|
66
|
+
* { telemetry: [], dlq: [], processor: ["telemetry", "dlq"] },
|
|
67
|
+
* );
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export function kinesisEventSource(stream, props) {
|
|
71
|
+
return streamEventSource("kinesis", stream, props, (resolved, merged) => new KinesisEventSource(resolved, merged));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Wraps a Kinesis **enhanced fan-out** consumer as a Lambda
|
|
75
|
+
* {@link IEventSource}. Same defaults, `onFailure` handling and `ref()`
|
|
76
|
+
* resolution as {@link kinesisEventSource}; the function reads through the
|
|
77
|
+
* registered consumer, which gets its own 2 MB/s per shard of read
|
|
78
|
+
* throughput pushed over HTTP/2 rather than sharing the shard's 2 MB/s with
|
|
79
|
+
* every other polling consumer.
|
|
80
|
+
*
|
|
81
|
+
* Use it when several applications read the same stream, or when the
|
|
82
|
+
* function needs the lowest propagation delay; enhanced fan-out is billed
|
|
83
|
+
* per consumer-shard-hour and per GB retrieved, so a single consumer is
|
|
84
|
+
* usually cheaper on shared throughput.
|
|
85
|
+
*
|
|
86
|
+
* @see https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html
|
|
87
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-parameters.html
|
|
88
|
+
*
|
|
89
|
+
* @param consumer - The registered stream consumer, concrete or a `ref()` to
|
|
90
|
+
* a sibling.
|
|
91
|
+
* @param props - Overrides for {@link DEFAULT_KINESIS_EVENT_SOURCE_PROPS} and
|
|
92
|
+
* any other {@link KinesisStreamEventSourceProps}.
|
|
93
|
+
*/
|
|
94
|
+
export function kinesisConsumerEventSource(consumer, props) {
|
|
95
|
+
return streamEventSource("kinesis", consumer, props, (resolved, merged) => new KinesisConsumerEventSource(resolved, merged));
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=kinesis-event-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinesis-event-source.js","sourceRoot":"","sources":["../../../src/event-sources/kinesis-event-source.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,iCAAiC,CAAC;AAwCpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA2B,EAC3B,KAAqC;IAErC,OAAO,iBAAiB,CACtB,SAAS,EACT,MAAM,EACN,KAAK,EACL,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAqC,EACrC,KAAqC;IAErC,OAAO,iBAAiB,CACtB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { StreamEventSourceProps } from "aws-cdk-lib/aws-lambda-event-sources";
|
|
2
2
|
/**
|
|
3
3
|
* Secure, AWS-recommended defaults shared by every polling **stream** event
|
|
4
|
-
* source — DynamoDB Streams
|
|
4
|
+
* source — DynamoDB Streams and Kinesis Data Streams. Each field
|
|
5
5
|
* lives on {@link StreamEventSourceProps} (the common base of
|
|
6
6
|
* `DynamoEventSourceProps` and `KinesisEventSourceProps`), so a per-source
|
|
7
7
|
* factory spreads this constant and adds only its source-specific overrides.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-event-source-defaults.d.ts","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC,EAAE,IAAI,CAClD,sBAAsB,EACtB,kBAAkB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"stream-event-source-defaults.d.ts","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC,EAAE,IAAI,CAClD,sBAAsB,EACtB,kBAAkB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,eAAe,CAqCxF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MetricType, StartingPosition } from "aws-cdk-lib/aws-lambda";
|
|
2
2
|
/**
|
|
3
3
|
* Secure, AWS-recommended defaults shared by every polling **stream** event
|
|
4
|
-
* source — DynamoDB Streams
|
|
4
|
+
* source — DynamoDB Streams and Kinesis Data Streams. Each field
|
|
5
5
|
* lives on {@link StreamEventSourceProps} (the common base of
|
|
6
6
|
* `DynamoEventSourceProps` and `KinesisEventSourceProps`), so a per-source
|
|
7
7
|
* factory spreads this constant and adds only its source-specific overrides.
|
|
@@ -17,6 +17,7 @@ export const DEFAULT_STREAM_EVENT_SOURCE_PROPS = {
|
|
|
17
17
|
* with {@link StartingPosition.TRIM_HORIZON} to reprocess from the oldest
|
|
18
18
|
* record in the stream.
|
|
19
19
|
* @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html
|
|
20
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-parameters.html
|
|
20
21
|
*/
|
|
21
22
|
startingPosition: StartingPosition.LATEST,
|
|
22
23
|
/**
|
|
@@ -24,6 +25,7 @@ export const DEFAULT_STREAM_EVENT_SOURCE_PROPS = {
|
|
|
24
25
|
* whole batch and force redelivery of already-processed records. CDK
|
|
25
26
|
* defaults this to `false`.
|
|
26
27
|
* @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
|
|
28
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/services-kinesis-batchfailurereporting.html
|
|
27
29
|
*/
|
|
28
30
|
reportBatchItemFailures: true,
|
|
29
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-event-source-defaults.js","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF
|
|
1
|
+
{"version":3,"file":"stream-event-source-defaults.js","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF;;;;;;;OAOG;IACH,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;IAEzC;;;;;;OAMG;IACH,uBAAuB,EAAE,IAAI;IAE7B;;;;;;OAMG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;OAKG;IACH,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;CACrD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IEventSource } from "aws-cdk-lib/aws-lambda";
|
|
2
|
+
import { type StreamEventSourceProps } from "aws-cdk-lib/aws-lambda-event-sources";
|
|
3
|
+
import type { IQueue } from "aws-cdk-lib/aws-sqs";
|
|
4
|
+
import { type Resolvable } from "@composurecdk/core";
|
|
5
|
+
import { type ComposureEventSource, type EventSourceKind } from "./composure-event-source.js";
|
|
6
|
+
import { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./stream-event-source-defaults.js";
|
|
7
|
+
/** CDK's failure-destination type for a polling stream source, read off its own prop (ADR-0018). */
|
|
8
|
+
type StreamFailureDestination = NonNullable<StreamEventSourceProps["onFailure"]>;
|
|
9
|
+
/** The props every stream factory accepts: CDK's own, with `onFailure` widened. */
|
|
10
|
+
interface WidenedStreamProps {
|
|
11
|
+
onFailure?: Resolvable<IQueue | StreamFailureDestination>;
|
|
12
|
+
}
|
|
13
|
+
/** A factory's props once the defaults are applied and `onFailure` is resolved. */
|
|
14
|
+
type ResolvedStreamProps<P extends WidenedStreamProps> = Omit<P, "onFailure"> & typeof DEFAULT_STREAM_EVENT_SOURCE_PROPS & {
|
|
15
|
+
onFailure?: StreamFailureDestination;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Assembles a polling-stream {@link ComposureEventSource} (DynamoDB, Kinesis)
|
|
19
|
+
* from its upstream resource and the factory's props — the upstream and the
|
|
20
|
+
* `onFailure` destination may each be a `ref()` to a sibling component.
|
|
21
|
+
*
|
|
22
|
+
* Layers `props` over {@link DEFAULT_STREAM_EVENT_SOURCE_PROPS}, then `create`
|
|
23
|
+
* builds the CDK source from the resolved upstream and the merged props, whose
|
|
24
|
+
* `onFailure` is resolved (a bare queue already wrapped in an {@link SqsDlq}).
|
|
25
|
+
* With no destination only the upstream can be lazy, so the single-ref fast
|
|
26
|
+
* path is kept; otherwise both are combined into one deferred value (ADR-0015).
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare function streamEventSource<T, P extends WidenedStreamProps>(kind: EventSourceKind, upstream: Resolvable<T>, props: P | undefined, create: (resolved: T, props: ResolvedStreamProps<P>) => IEventSource): ComposureEventSource;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=stream-event-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-event-source.d.ts","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAU,KAAK,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF,oGAAoG;AACpG,KAAK,wBAAwB,GAAG,WAAW,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AASjF,mFAAmF;AACnF,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAC,CAAC;CAC3D;AAED,mFAAmF;AACnF,KAAK,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAC3E,OAAO,iCAAiC,GAAG;IAAE,SAAS,CAAC,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAEtF;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,EAC/D,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,YAAY,GACnE,oBAAoB,CAkBtB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { SqsDlq } from "aws-cdk-lib/aws-lambda-event-sources";
|
|
2
|
+
import { combine, isRef } from "@composurecdk/core";
|
|
3
|
+
import { composureEventSource, } from "./composure-event-source.js";
|
|
4
|
+
import { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./stream-event-source-defaults.js";
|
|
5
|
+
/** Wraps a raw queue in an {@link SqsDlq}; passes an existing destination through. */
|
|
6
|
+
function toDlq(destination) {
|
|
7
|
+
// Duck-type the queue rather than `instanceof` — the ESM and CommonJS copies
|
|
8
|
+
// of a package can both load in one process (ADR-0007).
|
|
9
|
+
return "queueArn" in destination ? new SqsDlq(destination) : destination;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Assembles a polling-stream {@link ComposureEventSource} (DynamoDB, Kinesis)
|
|
13
|
+
* from its upstream resource and the factory's props — the upstream and the
|
|
14
|
+
* `onFailure` destination may each be a `ref()` to a sibling component.
|
|
15
|
+
*
|
|
16
|
+
* Layers `props` over {@link DEFAULT_STREAM_EVENT_SOURCE_PROPS}, then `create`
|
|
17
|
+
* builds the CDK source from the resolved upstream and the merged props, whose
|
|
18
|
+
* `onFailure` is resolved (a bare queue already wrapped in an {@link SqsDlq}).
|
|
19
|
+
* With no destination only the upstream can be lazy, so the single-ref fast
|
|
20
|
+
* path is kept; otherwise both are combined into one deferred value (ADR-0015).
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export function streamEventSource(kind, upstream, props, create) {
|
|
25
|
+
const { onFailure, ...rest } = props ?? {};
|
|
26
|
+
const merged = { ...DEFAULT_STREAM_EVENT_SOURCE_PROPS, ...rest };
|
|
27
|
+
let source;
|
|
28
|
+
if (onFailure === undefined) {
|
|
29
|
+
source = isRef(upstream)
|
|
30
|
+
? upstream.map((resolved) => create(resolved, merged))
|
|
31
|
+
: create(upstream, merged);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// `Resolved<T>` is a conditional type TypeScript cannot reduce for a generic
|
|
35
|
+
// `T`; every caller passes a construct interface, never a nested `Ref`, so
|
|
36
|
+
// the resolved upstream is `T`.
|
|
37
|
+
source = combine({ upstream, onFailure }, (resolved) => create(resolved.upstream, { ...merged, onFailure: toDlq(resolved.onFailure) }));
|
|
38
|
+
}
|
|
39
|
+
return composureEventSource(kind, source);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=stream-event-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-event-source.js","sourceRoot":"","sources":["../../../src/event-sources/stream-event-source.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA+B,MAAM,sCAAsC,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAEL,oBAAoB,GAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAKtF,sFAAsF;AACtF,SAAS,KAAK,CAAC,WAA8C;IAC3D,6EAA6E;IAC7E,wDAAwD;IACxD,OAAO,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3E,CAAC;AAWD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAqB,EACrB,QAAuB,EACvB,KAAoB,EACpB,MAAoE;IAEpE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAK,EAAQ,CAAC;IAClD,MAAM,MAAM,GAAG,EAAE,GAAG,iCAAiC,EAAE,GAAG,IAAI,EAA4B,CAAC;IAE3F,IAAI,MAAgC,CAAC;IACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;YACtB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,2EAA2E;QAC3E,gCAAgC;QAChC,MAAM,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrD,MAAM,CAAC,QAAQ,CAAC,QAAa,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,sBAAsB,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,sBAAsB,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AA6DrF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,GACvC,eAAe,EAAE,CAgKnB;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,EACxC,YAAY,GAAE,sBAAsB,CAAC,cAAc,CAAC,EAAO,GAC1D,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAQvB"}
|
|
@@ -12,7 +12,7 @@ const METRIC_PERIOD_LABEL = `${String(METRIC_PERIOD.toMinutes())} minute`;
|
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
14
|
* Per-mapping ESM alarms shared by every kind that emits the `EventCount`
|
|
15
|
-
* metrics —
|
|
15
|
+
* metrics — SQS, DynamoDB streams and Kinesis all report `FailedInvokeEventCount` and
|
|
16
16
|
* `DroppedEventCount` when the mapping opts into `MetricType.EVENT_COUNT`.
|
|
17
17
|
*/
|
|
18
18
|
const ESM_EVENT_COUNT_SPECS = [
|
|
@@ -34,13 +34,17 @@ const ESM_EVENT_COUNT_SPECS = [
|
|
|
34
34
|
const EVENT_SOURCE_ALARM_SPECS = {
|
|
35
35
|
sqs: ESM_EVENT_COUNT_SPECS,
|
|
36
36
|
dynamodb: ESM_EVENT_COUNT_SPECS,
|
|
37
|
+
kinesis: ESM_EVENT_COUNT_SPECS,
|
|
37
38
|
unknown: [],
|
|
38
39
|
};
|
|
39
40
|
/**
|
|
40
41
|
* Source kinds backed by a stream, for which the function-level `IteratorAge`
|
|
41
|
-
* alarm is created.
|
|
42
|
+
* alarm is created.
|
|
42
43
|
*/
|
|
43
|
-
const STREAM_EVENT_SOURCE_KINDS = new Set([
|
|
44
|
+
const STREAM_EVENT_SOURCE_KINDS = new Set([
|
|
45
|
+
"dynamodb",
|
|
46
|
+
"kinesis",
|
|
47
|
+
]);
|
|
44
48
|
/**
|
|
45
49
|
* Resolves the recommended alarm configuration into fully-resolved
|
|
46
50
|
* {@link AlarmDefinition}s, applying contextual logic for timeout-based
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAEL,kBAAkB,EAClB,MAAM,EACN,KAAK,GAEN,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAEL,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;AAY1E;;;;;GAKG;AACH;;;;GAIG;AACH,MAAM,qBAAqB,GAA2B;IACpD;QACE,SAAS,EAAE,mBAAmB;QAC9B,SAAS,EAAE,8BAA8B;QACzC,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC3B,wBAAwB,GAAG,uCAAuC;YAClE,gBAAgB,MAAM,CAAC,SAAS,CAAC,0BAA0B,mBAAmB,GAAG;KACpF;IACD;QACE,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,0BAA0B;QACrC,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC3B,wBAAwB,GAAG,wDAAwD;YACnF,gBAAgB,MAAM,CAAC,SAAS,CAAC,sBAAsB,mBAAmB,GAAG;KAChF;CACF,CAAC;AAEF,MAAM,wBAAwB,GAAgE;IAC5F,GAAG,EAAE,qBAAqB;IAC1B,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,yBAAyB,GAA6C,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export { sqsEventSource, DEFAULT_SQS_EVENT_SOURCE_PROPS, } from "./event-sources
|
|
|
9
9
|
export { SQS_VISIBILITY_TIMEOUT_WARNING_ID, STREAM_DLQ_WARNING_ID, } from "./event-sources/event-source-relationship-guards.js";
|
|
10
10
|
export { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./event-sources/stream-event-source-defaults.js";
|
|
11
11
|
export { dynamoEventSource, DEFAULT_DYNAMO_EVENT_SOURCE_PROPS, type DynamoStreamEventSourceProps, } from "./event-sources/dynamodb-event-source.js";
|
|
12
|
+
export { kinesisEventSource, kinesisConsumerEventSource, DEFAULT_KINESIS_EVENT_SOURCE_PROPS, type KinesisStreamEventSourceProps, } from "./event-sources/kinesis-event-source.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mCAAmC,EACnC,yBAAyB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,cAAc,EACd,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,iCAAiC,EACjC,KAAK,4BAA4B,GAClC,MAAM,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mCAAmC,EACnC,yBAAyB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,cAAc,EACd,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,iCAAiC,EACjC,KAAK,4BAA4B,GAClC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kCAAkC,EAClC,KAAK,6BAA6B,GACnC,MAAM,yCAAyC,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export { sqsEventSource, DEFAULT_SQS_EVENT_SOURCE_PROPS, } from "./event-sources
|
|
|
7
7
|
export { SQS_VISIBILITY_TIMEOUT_WARNING_ID, STREAM_DLQ_WARNING_ID, } from "./event-sources/event-source-relationship-guards.js";
|
|
8
8
|
export { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./event-sources/stream-event-source-defaults.js";
|
|
9
9
|
export { dynamoEventSource, DEFAULT_DYNAMO_EVENT_SOURCE_PROPS, } from "./event-sources/dynamodb-event-source.js";
|
|
10
|
+
export { kinesisEventSource, kinesisConsumerEventSource, DEFAULT_KINESIS_EVENT_SOURCE_PROPS, } from "./event-sources/kinesis-event-source.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mCAAmC,EACnC,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EACL,cAAc,EACd,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,iCAAiC,GAElC,MAAM,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mCAAmC,EACnC,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EACL,cAAc,EACd,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,iCAAiC,GAElC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kCAAkC,GAEnC,MAAM,yCAAyC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@composurecdk/lambda",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Composable Lambda function builder with well-architected defaults",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@composurecdk/cloudformation": "^0.
|
|
43
|
-
"@composurecdk/cloudwatch": "^0.
|
|
44
|
-
"@composurecdk/core": "^0.
|
|
45
|
-
"@composurecdk/iam": "^0.
|
|
46
|
-
"@composurecdk/logs": "^0.
|
|
47
|
-
"aws-cdk-lib": "^2.
|
|
42
|
+
"@composurecdk/cloudformation": "^0.12.0",
|
|
43
|
+
"@composurecdk/cloudwatch": "^0.12.0",
|
|
44
|
+
"@composurecdk/core": "^0.12.0",
|
|
45
|
+
"@composurecdk/iam": "^0.12.0",
|
|
46
|
+
"@composurecdk/logs": "^0.12.0",
|
|
47
|
+
"aws-cdk-lib": "^2.180.0",
|
|
48
48
|
"constructs": "^10.0.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@composurecdk/cdk-testing": "*",
|
|
52
|
-
"@composurecdk/iam": "^0.
|
|
53
|
-
"@types/node": "^26.6.
|
|
54
|
-
"aws-cdk-lib": "^2.
|
|
52
|
+
"@composurecdk/iam": "^0.12.0",
|
|
53
|
+
"@types/node": "^26.6.6",
|
|
54
|
+
"aws-cdk-lib": "^2.275.0",
|
|
55
55
|
"constructs": "^10.8.1",
|
|
56
56
|
"ts-fake": "^1.2.1",
|
|
57
57
|
"typescript": "^6.0.3",
|