@composurecdk/lambda 0.9.0 → 0.9.2

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.
Files changed (48) hide show
  1. package/README.md +38 -7
  2. package/dist/commonjs/event-sources/dynamodb-event-source.d.ts +53 -9
  3. package/dist/commonjs/event-sources/dynamodb-event-source.d.ts.map +1 -1
  4. package/dist/commonjs/event-sources/dynamodb-event-source.js +50 -36
  5. package/dist/commonjs/event-sources/dynamodb-event-source.js.map +1 -1
  6. package/dist/commonjs/event-sources/event-source-relationship-guards.d.ts +8 -1
  7. package/dist/commonjs/event-sources/event-source-relationship-guards.d.ts.map +1 -1
  8. package/dist/commonjs/event-sources/event-source-relationship-guards.js +53 -2
  9. package/dist/commonjs/event-sources/event-source-relationship-guards.js.map +1 -1
  10. package/dist/commonjs/event-sources/stream-event-source-defaults.d.ts +14 -0
  11. package/dist/commonjs/event-sources/stream-event-source-defaults.d.ts.map +1 -0
  12. package/dist/commonjs/event-sources/stream-event-source-defaults.js +48 -0
  13. package/dist/commonjs/event-sources/stream-event-source-defaults.js.map +1 -0
  14. package/dist/commonjs/function-alarms.d.ts +2 -1
  15. package/dist/commonjs/function-alarms.d.ts.map +1 -1
  16. package/dist/commonjs/function-alarms.js +5 -7
  17. package/dist/commonjs/function-alarms.js.map +1 -1
  18. package/dist/commonjs/function-builder.d.ts +2 -1
  19. package/dist/commonjs/function-builder.d.ts.map +1 -1
  20. package/dist/commonjs/function-builder.js.map +1 -1
  21. package/dist/commonjs/index.d.ts +3 -2
  22. package/dist/commonjs/index.d.ts.map +1 -1
  23. package/dist/commonjs/index.js +4 -1
  24. package/dist/commonjs/index.js.map +1 -1
  25. package/dist/esm/event-sources/dynamodb-event-source.d.ts +53 -9
  26. package/dist/esm/event-sources/dynamodb-event-source.d.ts.map +1 -1
  27. package/dist/esm/event-sources/dynamodb-event-source.js +52 -38
  28. package/dist/esm/event-sources/dynamodb-event-source.js.map +1 -1
  29. package/dist/esm/event-sources/event-source-relationship-guards.d.ts +8 -1
  30. package/dist/esm/event-sources/event-source-relationship-guards.d.ts.map +1 -1
  31. package/dist/esm/event-sources/event-source-relationship-guards.js +52 -1
  32. package/dist/esm/event-sources/event-source-relationship-guards.js.map +1 -1
  33. package/dist/esm/event-sources/stream-event-source-defaults.d.ts +14 -0
  34. package/dist/esm/event-sources/stream-event-source-defaults.d.ts.map +1 -0
  35. package/dist/esm/event-sources/stream-event-source-defaults.js +45 -0
  36. package/dist/esm/event-sources/stream-event-source-defaults.js.map +1 -0
  37. package/dist/esm/function-alarms.d.ts +2 -1
  38. package/dist/esm/function-alarms.d.ts.map +1 -1
  39. package/dist/esm/function-alarms.js +5 -7
  40. package/dist/esm/function-alarms.js.map +1 -1
  41. package/dist/esm/function-builder.d.ts +2 -1
  42. package/dist/esm/function-builder.d.ts.map +1 -1
  43. package/dist/esm/function-builder.js.map +1 -1
  44. package/dist/esm/index.d.ts +3 -2
  45. package/dist/esm/index.d.ts.map +1 -1
  46. package/dist/esm/index.js +2 -1
  47. package/dist/esm/index.js.map +1 -1
  48. package/package.json +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"function-builder.js","sourceRoot":"","sources":["../../src/function-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-builder.js","sourceRoot":"","sources":["../../src/function-builder.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export { type FunctionAlarmConfig, type PercentageAlarmConfig } from "./alarm-co
5
5
  export { FUNCTION_ALARM_DEFAULTS } from "./alarm-defaults.js";
6
6
  export { type ComposureEventSource, type EventSourceKind, } from "./event-sources/composure-event-source.js";
7
7
  export { sqsEventSource, DEFAULT_SQS_EVENT_SOURCE_PROPS, } from "./event-sources/sqs-event-source.js";
8
- export { SQS_VISIBILITY_TIMEOUT_WARNING_ID } from "./event-sources/event-source-relationship-guards.js";
9
- export { dynamoEventSource, DEFAULT_DYNAMO_EVENT_SOURCE_PROPS, } from "./event-sources/dynamodb-event-source.js";
8
+ export { SQS_VISIBILITY_TIMEOUT_WARNING_ID, STREAM_DLQ_WARNING_ID, } from "./event-sources/event-source-relationship-guards.js";
9
+ export { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./event-sources/stream-event-source-defaults.js";
10
+ export { dynamoEventSource, DEFAULT_DYNAMO_EVENT_SOURCE_PROPS, type DynamoStreamEventSourceProps, } from "./event-sources/dynamodb-event-source.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,EAAE,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AACxG,OAAO,EACL,iBAAiB,EACjB,iCAAiC,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,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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = exports.dynamoEventSource = exports.SQS_VISIBILITY_TIMEOUT_WARNING_ID = exports.DEFAULT_SQS_EVENT_SOURCE_PROPS = exports.sqsEventSource = exports.FUNCTION_ALARM_DEFAULTS = exports.FUNCTION_DEFAULTS = exports.functionGrants = exports.createFunctionBuilder = void 0;
3
+ exports.DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = exports.dynamoEventSource = exports.DEFAULT_STREAM_EVENT_SOURCE_PROPS = exports.STREAM_DLQ_WARNING_ID = exports.SQS_VISIBILITY_TIMEOUT_WARNING_ID = exports.DEFAULT_SQS_EVENT_SOURCE_PROPS = exports.sqsEventSource = exports.FUNCTION_ALARM_DEFAULTS = exports.FUNCTION_DEFAULTS = exports.functionGrants = exports.createFunctionBuilder = void 0;
4
4
  var function_builder_js_1 = require("./function-builder.js");
5
5
  Object.defineProperty(exports, "createFunctionBuilder", { enumerable: true, get: function () { return function_builder_js_1.createFunctionBuilder; } });
6
6
  var grants_js_1 = require("./grants.js");
@@ -14,6 +14,9 @@ Object.defineProperty(exports, "sqsEventSource", { enumerable: true, get: functi
14
14
  Object.defineProperty(exports, "DEFAULT_SQS_EVENT_SOURCE_PROPS", { enumerable: true, get: function () { return sqs_event_source_js_1.DEFAULT_SQS_EVENT_SOURCE_PROPS; } });
15
15
  var event_source_relationship_guards_js_1 = require("./event-sources/event-source-relationship-guards.js");
16
16
  Object.defineProperty(exports, "SQS_VISIBILITY_TIMEOUT_WARNING_ID", { enumerable: true, get: function () { return event_source_relationship_guards_js_1.SQS_VISIBILITY_TIMEOUT_WARNING_ID; } });
17
+ Object.defineProperty(exports, "STREAM_DLQ_WARNING_ID", { enumerable: true, get: function () { return event_source_relationship_guards_js_1.STREAM_DLQ_WARNING_ID; } });
18
+ var stream_event_source_defaults_js_1 = require("./event-sources/stream-event-source-defaults.js");
19
+ Object.defineProperty(exports, "DEFAULT_STREAM_EVENT_SOURCE_PROPS", { enumerable: true, get: function () { return stream_event_source_defaults_js_1.DEFAULT_STREAM_EVENT_SOURCE_PROPS; } });
17
20
  var dynamodb_event_source_js_1 = require("./event-sources/dynamodb-event-source.js");
18
21
  Object.defineProperty(exports, "dynamoEventSource", { enumerable: true, get: function () { return dynamodb_event_source_js_1.dynamoEventSource; } });
19
22
  Object.defineProperty(exports, "DEFAULT_DYNAMO_EVENT_SOURCE_PROPS", { enumerable: true, get: function () { return dynamodb_event_source_js_1.DEFAULT_DYNAMO_EVENT_SOURCE_PROPS; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAK+B;AAJ7B,4HAAA,qBAAqB,OAAA;AAKvB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAE1B,yDAA8D;AAArD,4HAAA,uBAAuB,OAAA;AAKhC,2EAG6C;AAF3C,qHAAA,cAAc,OAAA;AACd,qIAAA,8BAA8B,OAAA;AAEhC,2GAAwG;AAA/F,wJAAA,iCAAiC,OAAA;AAC1C,qFAGkD;AAFhD,6HAAA,iBAAiB,OAAA;AACjB,6IAAA,iCAAiC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAK+B;AAJ7B,4HAAA,qBAAqB,OAAA;AAKvB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAE1B,yDAA8D;AAArD,4HAAA,uBAAuB,OAAA;AAKhC,2EAG6C;AAF3C,qHAAA,cAAc,OAAA;AACd,qIAAA,8BAA8B,OAAA;AAEhC,2GAG6D;AAF3D,wJAAA,iCAAiC,OAAA;AACjC,4IAAA,qBAAqB,OAAA;AAEvB,mGAAoG;AAA3F,oJAAA,iCAAiC,OAAA;AAC1C,qFAIkD;AAHhD,6HAAA,iBAAiB,OAAA;AACjB,6IAAA,iCAAiC,OAAA"}
@@ -1,17 +1,45 @@
1
1
  import type { ITable } from "aws-cdk-lib/aws-dynamodb";
2
+ import type { IEventSourceDlq, StartingPosition } from "aws-cdk-lib/aws-lambda";
2
3
  import { type DynamoEventSourceProps } from "aws-cdk-lib/aws-lambda-event-sources";
4
+ import type { IQueue } from "aws-cdk-lib/aws-sqs";
3
5
  import { type Resolvable } from "@composurecdk/core";
4
6
  import { type ComposureEventSource } from "./composure-event-source.js";
5
7
  /**
6
8
  * Secure, AWS-recommended defaults applied to every DynamoDB stream event
7
- * source built with {@link dynamoEventSource}. Each property can be overridden
8
- * via the factory's `props` argument.
9
+ * source built with {@link dynamoEventSource} — the shared
10
+ * {@link DEFAULT_STREAM_EVENT_SOURCE_PROPS} (start at the stream tip, report
11
+ * partial batch failures, bisect a failing batch, emit ESM metrics). Each
12
+ * property can be overridden via the factory's `props` argument.
9
13
  */
10
- export declare const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS: Pick<DynamoEventSourceProps, "startingPosition" | "reportBatchItemFailures" | "metricsConfig">;
14
+ export declare const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS: Pick<import("aws-cdk-lib/aws-lambda-event-sources").StreamEventSourceProps, "reportBatchItemFailures" | "metricsConfig" | "startingPosition" | "bisectBatchOnError">;
15
+ /**
16
+ * Props for {@link dynamoEventSource}. Identical to CDK's
17
+ * {@link DynamoEventSourceProps} except that `onFailure` is widened to a
18
+ * {@link Resolvable}, and additionally accepts a bare {@link IQueue} (or a
19
+ * `ref()` to one) that is wrapped in an {@link SqsDlq} for you — so a
20
+ * dead-letter queue built by a sibling component wires up declaratively:
21
+ * `onFailure: ref("dlq", (r) => r.queue)`.
22
+ */
23
+ export interface DynamoStreamEventSourceProps extends Omit<DynamoEventSourceProps, "onFailure" | "startingPosition"> {
24
+ /**
25
+ * Where to start reading the stream. Optional here — unlike CDK's
26
+ * {@link DynamoEventSourceProps} — because {@link DEFAULT_DYNAMO_EVENT_SOURCE_PROPS}
27
+ * supplies {@link StartingPosition.LATEST} when omitted.
28
+ */
29
+ startingPosition?: StartingPosition;
30
+ /**
31
+ * Destination for records that exhaust `retryAttempts` or exceed
32
+ * `maxRecordAge`. Pass an {@link IQueue} (wrapped in {@link SqsDlq}
33
+ * automatically), a concrete {@link IEventSourceDlq}, or a `ref()` to a
34
+ * sibling that produces either.
35
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-errors
36
+ */
37
+ onFailure?: Resolvable<IQueue | IEventSourceDlq>;
38
+ }
11
39
  /**
12
40
  * Wraps a DynamoDB table's change stream as a Lambda {@link IEventSource},
13
- * deferring resolution when the table is a `ref()` to a sibling component's
14
- * output.
41
+ * deferring resolution when the table (or the `onFailure` DLQ) is a `ref()` to
42
+ * a sibling component's output.
15
43
  *
16
44
  * Follows the `events/targets` factory shape: register the result with
17
45
  * {@link IFunctionBuilder.addEventSource} and the builder resolves the
@@ -21,6 +49,15 @@ export declare const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS: Pick<DynamoEventSourcePr
21
49
  *
22
50
  * Applies {@link DEFAULT_DYNAMO_EVENT_SOURCE_PROPS}; pass `props` to override.
23
51
  *
52
+ * ## Failure handling (AWS Well-Architected)
53
+ *
54
+ * `bisectBatchOnError` is on by default so a single poison record cannot block
55
+ * a shard for the whole 24 h stream-retention window. For durable failure
56
+ * handling, also bound `retryAttempts` / `maxRecordAge` **and** set `onFailure`
57
+ * so exhausted records land in a dead-letter queue instead of being dropped —
58
+ * bounding retries without an `onFailure` destination triggers a suppressible
59
+ * synth-time warning (see {@link STREAM_DLQ_WARNING_ID}).
60
+ *
24
61
  * ## Cross-component invariant (enforced by CDK at bind time)
25
62
  *
26
63
  * The table must have a stream enabled (via the table builder's
@@ -32,7 +69,7 @@ export declare const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS: Pick<DynamoEventSourcePr
32
69
  *
33
70
  * @param table - The source table, concrete or a `ref()` to a sibling.
34
71
  * @param props - Overrides for {@link DEFAULT_DYNAMO_EVENT_SOURCE_PROPS} and
35
- * any other {@link DynamoEventSourceProps}.
72
+ * any other {@link DynamoStreamEventSourceProps}.
36
73
  *
37
74
  * @example
38
75
  * ```ts
@@ -41,15 +78,22 @@ export declare const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS: Pick<DynamoEventSourcePr
41
78
  * orders: createTableV2Builder()
42
79
  * .partitionKey({ name: "pk", type: AttributeType.STRING })
43
80
  * .dynamoStream(StreamViewType.NEW_AND_OLD_IMAGES),
81
+ * dlq: createQueueBuilder("dlq"),
44
82
  * processor: createFunctionBuilder()
45
83
  * .runtime(Runtime.NODEJS_22_X)
46
84
  * .handler("index.handler")
47
85
  * .code(Code.fromAsset("lambda"))
48
- * .addEventSource("orders", dynamoEventSource(ref("orders", (r) => r.table))),
86
+ * .addEventSource(
87
+ * "orders",
88
+ * dynamoEventSource(ref("orders", (r) => r.table), {
89
+ * retryAttempts: 3,
90
+ * onFailure: ref("dlq", (r) => r.queue),
91
+ * }),
92
+ * ),
49
93
  * },
50
- * { orders: [], processor: ["orders"] },
94
+ * { orders: [], dlq: [], processor: ["orders", "dlq"] },
51
95
  * );
52
96
  * ```
53
97
  */
54
- export declare function dynamoEventSource(table: Resolvable<ITable>, props?: DynamoEventSourceProps): ComposureEventSource;
98
+ export declare function dynamoEventSource(table: Resolvable<ITable>, props?: DynamoStreamEventSourceProps): ComposureEventSource;
55
99
  //# sourceMappingURL=dynamodb-event-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-event-source.d.ts","sourceRoot":"","sources":["../../../src/event-sources/dynamodb-event-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,oBAAoB,EAAwB,MAAM,6BAA6B,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,IAAI,CAClD,sBAAsB,EACtB,kBAAkB,GAAG,yBAAyB,GAAG,eAAe,CA0BjE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,oBAAoB,CAMtB"}
1
+ {"version":3,"file":"dynamodb-event-source.d.ts","sourceRoot":"","sources":["../../../src/event-sources/dynamodb-event-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAgB,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAEL,KAAK,sBAAsB,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,KAAK,oBAAoB,EAAwB,MAAM,6BAA6B,CAAC;AAG9F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,sKAAoC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CACxD,sBAAsB,EACtB,WAAW,GAAG,kBAAkB,CACjC;IACC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;CAClD;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,KAAK,CAAC,EAAE,4BAA4B,GACnC,oBAAoB,CAwBtB"}
@@ -1,40 +1,25 @@
1
- import { MetricType, StartingPosition } from "aws-cdk-lib/aws-lambda";
2
- import { DynamoEventSource, } from "aws-cdk-lib/aws-lambda-event-sources";
3
- import { isRef } from "@composurecdk/core";
1
+ import { DynamoEventSource, SqsDlq, } from "aws-cdk-lib/aws-lambda-event-sources";
2
+ import { combine, isRef } from "@composurecdk/core";
4
3
  import { composureEventSource } from "./composure-event-source.js";
4
+ import { DEFAULT_STREAM_EVENT_SOURCE_PROPS } from "./stream-event-source-defaults.js";
5
5
  /**
6
6
  * Secure, AWS-recommended defaults applied to every DynamoDB stream event
7
- * source built with {@link dynamoEventSource}. Each property can be overridden
8
- * via the factory's `props` argument.
7
+ * source built with {@link dynamoEventSource} — the shared
8
+ * {@link DEFAULT_STREAM_EVENT_SOURCE_PROPS} (start at the stream tip, report
9
+ * partial batch failures, bisect a failing batch, emit ESM metrics). Each
10
+ * property can be overridden via the factory's `props` argument.
9
11
  */
10
- export const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = {
11
- /**
12
- * Start reading from the tip of the stream so a newly-attached consumer does
13
- * not replay the table's existing change history on first deploy. Override
14
- * with {@link StartingPosition.TRIM_HORIZON} to reprocess from the oldest
15
- * record in the stream.
16
- * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html
17
- */
18
- startingPosition: StartingPosition.LATEST,
19
- /**
20
- * Report partial batch failures so a single poison record does not fail the
21
- * whole batch and force redelivery of already-processed records. CDK
22
- * defaults this to `false`.
23
- * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
24
- */
25
- reportBatchItemFailures: true,
26
- /**
27
- * Enable the per-mapping `EventCount` ESM metrics (`FailedInvokeEventCount`,
28
- * `DroppedEventCount`, …). They emit only when opted in, and the
29
- * event-source contextual alarms on {@link IFunctionBuilder} depend on them.
30
- * @see https://aws.amazon.com/blogs/compute/introducing-new-event-source-mapping-esm-metrics-for-aws-lambda/
31
- */
32
- metricsConfig: { metrics: [MetricType.EVENT_COUNT] },
33
- };
12
+ export const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = DEFAULT_STREAM_EVENT_SOURCE_PROPS;
13
+ /** Wraps a raw queue in an {@link SqsDlq}; passes an existing destination through. */
14
+ function toDlq(destination) {
15
+ // Duck-type the queue rather than `instanceof` — the ESM and CommonJS copies
16
+ // of a package can both load in one process (ADR-0007).
17
+ return "queueArn" in destination ? new SqsDlq(destination) : destination;
18
+ }
34
19
  /**
35
20
  * Wraps a DynamoDB table's change stream as a Lambda {@link IEventSource},
36
- * deferring resolution when the table is a `ref()` to a sibling component's
37
- * output.
21
+ * deferring resolution when the table (or the `onFailure` DLQ) is a `ref()` to
22
+ * a sibling component's output.
38
23
  *
39
24
  * Follows the `events/targets` factory shape: register the result with
40
25
  * {@link IFunctionBuilder.addEventSource} and the builder resolves the
@@ -44,6 +29,15 @@ export const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = {
44
29
  *
45
30
  * Applies {@link DEFAULT_DYNAMO_EVENT_SOURCE_PROPS}; pass `props` to override.
46
31
  *
32
+ * ## Failure handling (AWS Well-Architected)
33
+ *
34
+ * `bisectBatchOnError` is on by default so a single poison record cannot block
35
+ * a shard for the whole 24 h stream-retention window. For durable failure
36
+ * handling, also bound `retryAttempts` / `maxRecordAge` **and** set `onFailure`
37
+ * so exhausted records land in a dead-letter queue instead of being dropped —
38
+ * bounding retries without an `onFailure` destination triggers a suppressible
39
+ * synth-time warning (see {@link STREAM_DLQ_WARNING_ID}).
40
+ *
47
41
  * ## Cross-component invariant (enforced by CDK at bind time)
48
42
  *
49
43
  * The table must have a stream enabled (via the table builder's
@@ -55,7 +49,7 @@ export const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = {
55
49
  *
56
50
  * @param table - The source table, concrete or a `ref()` to a sibling.
57
51
  * @param props - Overrides for {@link DEFAULT_DYNAMO_EVENT_SOURCE_PROPS} and
58
- * any other {@link DynamoEventSourceProps}.
52
+ * any other {@link DynamoStreamEventSourceProps}.
59
53
  *
60
54
  * @example
61
55
  * ```ts
@@ -64,21 +58,41 @@ export const DEFAULT_DYNAMO_EVENT_SOURCE_PROPS = {
64
58
  * orders: createTableV2Builder()
65
59
  * .partitionKey({ name: "pk", type: AttributeType.STRING })
66
60
  * .dynamoStream(StreamViewType.NEW_AND_OLD_IMAGES),
61
+ * dlq: createQueueBuilder("dlq"),
67
62
  * processor: createFunctionBuilder()
68
63
  * .runtime(Runtime.NODEJS_22_X)
69
64
  * .handler("index.handler")
70
65
  * .code(Code.fromAsset("lambda"))
71
- * .addEventSource("orders", dynamoEventSource(ref("orders", (r) => r.table))),
66
+ * .addEventSource(
67
+ * "orders",
68
+ * dynamoEventSource(ref("orders", (r) => r.table), {
69
+ * retryAttempts: 3,
70
+ * onFailure: ref("dlq", (r) => r.queue),
71
+ * }),
72
+ * ),
72
73
  * },
73
- * { orders: [], processor: ["orders"] },
74
+ * { orders: [], dlq: [], processor: ["orders", "dlq"] },
74
75
  * );
75
76
  * ```
76
77
  */
77
78
  export function dynamoEventSource(table, props) {
78
- const merged = { ...DEFAULT_DYNAMO_EVENT_SOURCE_PROPS, ...props };
79
- const source = isRef(table)
80
- ? table.map((resolved) => new DynamoEventSource(resolved, merged))
81
- : new DynamoEventSource(table, merged);
79
+ const { onFailure, ...rest } = props ?? {};
80
+ const merged = {
81
+ ...DEFAULT_DYNAMO_EVENT_SOURCE_PROPS,
82
+ ...rest,
83
+ };
84
+ let source;
85
+ if (onFailure === undefined) {
86
+ // No DLQ: only the table can be lazy — preserve the single-ref fast path.
87
+ source = isRef(table)
88
+ ? table.map((resolved) => new DynamoEventSource(resolved, merged))
89
+ : new DynamoEventSource(table, merged);
90
+ }
91
+ else {
92
+ // Table and DLQ are two siblings feeding one source — combine both refs
93
+ // (either may be concrete) into a single deferred value (ADR-0015).
94
+ source = combine({ table, onFailure }, ({ table: resolvedTable, onFailure: resolvedDlq }) => new DynamoEventSource(resolvedTable, { ...merged, onFailure: toDlq(resolvedDlq) }));
95
+ }
82
96
  return composureEventSource("dynamodb", source);
83
97
  }
84
98
  //# sourceMappingURL=dynamodb-event-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-event-source.js","sourceRoot":"","sources":["../../../src/event-sources/dynamodb-event-source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EACL,iBAAiB,GAElB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAA6B,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE9F;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF;;;;;;OAMG;IACH,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;IAEzC;;;;;OAKG;IACH,uBAAuB,EAAE,IAAI;IAE7B;;;;;OAKG;IACH,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;CACrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAyB,EACzB,KAA8B;IAE9B,MAAM,MAAM,GAA2B,EAAE,GAAG,iCAAiC,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1F,MAAM,MAAM,GAA6B,KAAK,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"dynamodb-event-source.js","sourceRoot":"","sources":["../../../src/event-sources/dynamodb-event-source.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,MAAM,GACP,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAA6B,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,iCAAiC,CAAC;AA+BnF,sFAAsF;AACtF,SAAS,KAAK,CAAC,WAAqC;IAClD,6EAA6E;IAC7E,wDAAwD;IACxD,OAAO,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAyB,EACzB,KAAoC;IAEpC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAA8C;QACxD,GAAG,iCAAiC;QACpC,GAAG,IAAI;KACR,CAAC;IAEF,IAAI,MAAgC,CAAC;IACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,0EAA0E;QAC1E,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClE,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,GAAG,OAAO,CACd,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CACnD,IAAI,iBAAiB,CAAC,aAAa,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Duration } from "aws-cdk-lib";
2
- import type { Function as LambdaFunction, IEventSource } from "aws-cdk-lib/aws-lambda";
2
+ import { type Function as LambdaFunction, type IEventSource } from "aws-cdk-lib/aws-lambda";
3
3
  import type { EventSourceKind } from "./composure-event-source.js";
4
4
  /**
5
5
  * Suppression id for the SQS visibility-timeout relationship guard. Stable and
@@ -8,6 +8,13 @@ import type { EventSourceKind } from "./composure-event-source.js";
8
8
  * so it must not be renamed casually.
9
9
  */
10
10
  export declare const SQS_VISIBILITY_TIMEOUT_WARNING_ID = "@composurecdk/lambda:sqs-visibility-timeout";
11
+ /**
12
+ * Suppression id for the stream dead-letter relationship guard. Stable and part
13
+ * of the public surface — silence the warning with
14
+ * `Annotations.of(scope).acknowledgeWarning(STREAM_DLQ_WARNING_ID)`, so it must
15
+ * not be renamed casually.
16
+ */
17
+ export declare const STREAM_DLQ_WARNING_ID = "@composurecdk/lambda:stream-dlq-missing";
11
18
  /**
12
19
  * Guards a cross-component relationship that spans an attached event source and
13
20
  * its consumer function. `FunctionBuilder` dispatches on {@link EventSourceKind}
@@ -1 +1 @@
1
- {"version":3,"file":"event-source-relationship-guards.d.ts","sourceRoot":"","sources":["../../../src/event-sources/event-source-relationship-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,QAAQ,EAAS,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAIvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiBnE;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,gDAAgD,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,QAAQ,GAAG,SAAS,KAC1B,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,eAAe,EACf,4BAA4B,EAAE,CAK/B,CAAC"}
1
+ {"version":3,"file":"event-source-relationship-guards.d.ts","sourceRoot":"","sources":["../../../src/event-sources/event-source-relationship-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,QAAQ,EAAS,MAAM,aAAa,CAAC;AACtF,OAAO,EAEL,KAAK,QAAQ,IAAI,cAAc,EAC/B,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiBnE;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,gDAAgD,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,4CAA4C,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,QAAQ,GAAG,SAAS,KAC1B,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,eAAe,EACf,4BAA4B,EAAE,CAO/B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Annotations, Aspects, CfnResource, Token } from "aws-cdk-lib";
2
+ import { CfnEventSourceMapping, } from "aws-cdk-lib/aws-lambda";
2
3
  import { CfnQueue } from "aws-cdk-lib/aws-sqs";
3
4
  /**
4
5
  * AWS guidance: an SQS source queue's `visibilityTimeout` should be at least
@@ -19,6 +20,13 @@ const SQS_DEFAULT_VISIBILITY_TIMEOUT_SECONDS = 30;
19
20
  * so it must not be renamed casually.
20
21
  */
21
22
  export const SQS_VISIBILITY_TIMEOUT_WARNING_ID = "@composurecdk/lambda:sqs-visibility-timeout";
23
+ /**
24
+ * Suppression id for the stream dead-letter relationship guard. Stable and part
25
+ * of the public surface — silence the warning with
26
+ * `Annotations.of(scope).acknowledgeWarning(STREAM_DLQ_WARNING_ID)`, so it must
27
+ * not be renamed casually.
28
+ */
29
+ export const STREAM_DLQ_WARNING_ID = "@composurecdk/lambda:stream-dlq-missing";
22
30
  /**
23
31
  * Per-kind relationship guards, keyed by {@link EventSourceKind}. A kind maps to
24
32
  * the (possibly empty) list of relationships to guard for a source of that kind
@@ -29,7 +37,9 @@ export const SQS_VISIBILITY_TIMEOUT_WARNING_ID = "@composurecdk/lambda:sqs-visib
29
37
  */
30
38
  export const EVENT_SOURCE_RELATIONSHIP_GUARDS = {
31
39
  sqs: [guardSqsVisibilityTimeout],
32
- dynamodb: [],
40
+ // `guardStreamFailureDestination` is source-agnostic — it reads only the
41
+ // mapping's own failure config — so a future `kinesis` kind reuses it as-is.
42
+ dynamodb: [guardStreamFailureDestination],
33
43
  unknown: [],
34
44
  };
35
45
  /**
@@ -99,4 +109,45 @@ function readVisibilityTimeoutSeconds(queue) {
99
109
  return SQS_DEFAULT_VISIBILITY_TIMEOUT_SECONDS;
100
110
  return Token.isUnresolved(value) ? undefined : value;
101
111
  }
112
+ /** A resolved, non-negative bound (a finite `maximumRetry*`/`maximumRecordAge*`). `-1` means "infinite". */
113
+ function isFiniteBound(value) {
114
+ return value !== undefined && !Token.isUnresolved(value) && value >= 0;
115
+ }
116
+ /**
117
+ * Warns when a stream event source mapping bounds `maximumRetryAttempts` or
118
+ * `maximumRecordAgeInSeconds` but has no `onFailure` destination — records that
119
+ * exhaust the bound are then dropped silently. Registers a synth-time Aspect
120
+ * that reads the *final* values off the L1 `CfnEventSourceMapping` (the L2
121
+ * source does not re-expose them), regardless of build order (ADR-0011).
122
+ *
123
+ * Source-agnostic: it inspects only the mapping's own failure config, so it
124
+ * applies unchanged to any polling stream kind (DynamoDB now, Kinesis later).
125
+ * SQS mappings never set these stream-only properties, so the guard stays
126
+ * silent even though the Aspect visits them.
127
+ */
128
+ function guardStreamFailureDestination(fn, id) {
129
+ // One Aspect is registered per attached stream source, so with N sources each
130
+ // mapping is visited N times. The warning message is a pure function of the
131
+ // mapping node, so every visit produces a byte-identical message on the same
132
+ // node — which CDK's `Annotations.addMessage` dedupes — leaving one warning
133
+ // per offending mapping without any bookkeeping here.
134
+ Aspects.of(fn).add({
135
+ visit(node) {
136
+ if (!CfnResource.isCfnResource(node) ||
137
+ node.cfnResourceType !== CfnEventSourceMapping.CFN_RESOURCE_TYPE_NAME) {
138
+ return;
139
+ }
140
+ const mapping = node;
141
+ const bounded = isFiniteBound(mapping.maximumRetryAttempts) ||
142
+ isFiniteBound(mapping.maximumRecordAgeInSeconds);
143
+ if (!bounded || mapping.destinationConfig !== undefined)
144
+ return; // unbounded or has a DLQ — stay quiet
145
+ Annotations.of(node).addWarningV2(STREAM_DLQ_WARNING_ID, `FunctionBuilder "${id}": stream event source mapping "${node.node.path}" bounds ` +
146
+ `retries/record-age but has no onFailure destination — records that exhaust the bound ` +
147
+ `are dropped silently. Set onFailure to a dead-letter queue (e.g. the sqs "dlq" queue ` +
148
+ `builder) or acknowledge "${STREAM_DLQ_WARNING_ID}". ` +
149
+ `See https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-errors`);
150
+ },
151
+ });
152
+ }
102
153
  //# sourceMappingURL=event-source-relationship-guards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-source-relationship-guards.js","sourceRoot":"","sources":["../../../src/event-sources/event-source-relationship-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAiB,KAAK,EAAE,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,QAAQ,EAAe,MAAM,qBAAqB,CAAC;AAI5D;;;;;;GAMG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,0FAA0F;AAC1F,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,6CAA6C,CAAC;AAiB/F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAGzC;IACF,GAAG,EAAE,CAAC,yBAAyB,CAAC;IAChC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAmB;IACnC,OAAQ,KAAwB,CAAC,KAAK,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,EAAkB,EAClB,EAAU,EACV,GAAW,EACX,KAAmB,EACnB,OAA6B;IAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9B,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QACjB,KAAK,CAAC,IAAgB;YACpB,qEAAqE;YACrE,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO;YAExB,MAAM,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,gDAAgD;YAElF,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM;gBAAE,OAAO,CAAC,uCAAuC;YAE7F,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAC7B,iCAAiC,EACjC,oBAAoB,EAAE,wBAAwB,GAAG,wCAAwC;gBACvF,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,MAAM,CAAC,MAAM,CAAC,IAAI;gBACzD,IAAI,MAAM,CAAC,iCAAiC,CAAC,8CAA8C;gBAC3F,mFAAmF,CACtF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,8BAA8B,CAAC,OAA6B;IACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,iCAAiC,GAAG,8BAA8B,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,iCAAiC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;IACtC,IACE,KAAK,KAAK,SAAS;QACnB,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;QACjC,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,sBAAsB,EACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAI,KAAkB,CAAC,iBAAiB,CAAC;IACpD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,sCAAsC,CAAC;IACvE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"event-source-relationship-guards.js","sourceRoot":"","sources":["../../../src/event-sources/event-source-relationship-guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { StreamEventSourceProps } from "aws-cdk-lib/aws-lambda-event-sources";
2
+ /**
3
+ * Secure, AWS-recommended defaults shared by every polling **stream** event
4
+ * source — DynamoDB Streams today, Kinesis when that source lands. Each field
5
+ * lives on {@link StreamEventSourceProps} (the common base of
6
+ * `DynamoEventSourceProps` and `KinesisEventSourceProps`), so a per-source
7
+ * factory spreads this constant and adds only its source-specific overrides.
8
+ *
9
+ * Every property is individually overridable through the factory's `props`
10
+ * argument — there is no opt-out flag, so any deviation is intentional and
11
+ * visible (see docs/architecture.md, "Defaults").
12
+ */
13
+ export declare const DEFAULT_STREAM_EVENT_SOURCE_PROPS: Pick<StreamEventSourceProps, "startingPosition" | "reportBatchItemFailures" | "bisectBatchOnError" | "metricsConfig">;
14
+ //# sourceMappingURL=stream-event-source-defaults.d.ts.map
@@ -0,0 +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,CAmCxF,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { MetricType, StartingPosition } from "aws-cdk-lib/aws-lambda";
2
+ /**
3
+ * Secure, AWS-recommended defaults shared by every polling **stream** event
4
+ * source — DynamoDB Streams today, Kinesis when that source lands. Each field
5
+ * lives on {@link StreamEventSourceProps} (the common base of
6
+ * `DynamoEventSourceProps` and `KinesisEventSourceProps`), so a per-source
7
+ * factory spreads this constant and adds only its source-specific overrides.
8
+ *
9
+ * Every property is individually overridable through the factory's `props`
10
+ * argument — there is no opt-out flag, so any deviation is intentional and
11
+ * visible (see docs/architecture.md, "Defaults").
12
+ */
13
+ export const DEFAULT_STREAM_EVENT_SOURCE_PROPS = {
14
+ /**
15
+ * Start reading from the tip of the stream so a newly-attached consumer does
16
+ * not replay the source's existing change history on first deploy. Override
17
+ * with {@link StartingPosition.TRIM_HORIZON} to reprocess from the oldest
18
+ * record in the stream.
19
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html
20
+ */
21
+ startingPosition: StartingPosition.LATEST,
22
+ /**
23
+ * Report partial batch failures so a single poison record does not fail the
24
+ * whole batch and force redelivery of already-processed records. CDK
25
+ * defaults this to `false`.
26
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
27
+ */
28
+ reportBatchItemFailures: true,
29
+ /**
30
+ * Split a failing batch in two and retry each half, isolating a single poison
31
+ * record instead of letting it block the whole shard until the stream's
32
+ * retention window expires. CDK defaults this to `false`. Reliability pillar.
33
+ * @see https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting
34
+ * @see https://aws.amazon.com/about-aws/whats-new/2019/11/aws-lambda-supports-failure-handling-features-for-kinesis-and-dynamodb-event-sources/
35
+ */
36
+ bisectBatchOnError: true,
37
+ /**
38
+ * Enable the per-mapping `EventCount` ESM metrics (`FailedInvokeEventCount`,
39
+ * `DroppedEventCount`, …). They emit only when opted in, and the
40
+ * event-source contextual alarms on {@link IFunctionBuilder} depend on them.
41
+ * @see https://aws.amazon.com/blogs/compute/introducing-new-event-source-mapping-esm-metrics-for-aws-lambda/
42
+ */
43
+ metricsConfig: { metrics: [MetricType.EVENT_COUNT] },
44
+ };
45
+ //# sourceMappingURL=stream-event-source-defaults.js.map
@@ -0,0 +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;;;;;;OAMG;IACH,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;IAEzC;;;;;OAKG;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"}
@@ -18,7 +18,8 @@ export declare function resolveFunctionAlarmDefinitions(fn: LambdaFunction, conf
18
18
  * @param scope - CDK construct scope for creating alarm constructs.
19
19
  * @param id - Base identifier for alarm construct ids.
20
20
  * @param fn - The Lambda function to create alarms for.
21
- * @param config - User-provided alarm configuration, or `false` to disable all.
21
+ * @param config - User-provided alarm configuration, or `false` to disable the
22
+ * recommended alarms.
22
23
  * @param props - The merged function props, used for contextual alarm thresholds.
23
24
  * @param eventSources - Event sources attached to the function, used for
24
25
  * per-event-source contextual alarms.
@@ -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;AAyDrF;;;;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;;;;;;;;;;;;;;;GAeG;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,CAUvB"}
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;AAyDrF;;;;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"}
@@ -212,7 +212,8 @@ function eventSourceMetric(eventSourceMappingId, metricName) {
212
212
  * @param scope - CDK construct scope for creating alarm constructs.
213
213
  * @param id - Base identifier for alarm construct ids.
214
214
  * @param fn - The Lambda function to create alarms for.
215
- * @param config - User-provided alarm configuration, or `false` to disable all.
215
+ * @param config - User-provided alarm configuration, or `false` to disable the
216
+ * recommended alarms.
216
217
  * @param props - The merged function props, used for contextual alarm thresholds.
217
218
  * @param eventSources - Event sources attached to the function, used for
218
219
  * per-event-source contextual alarms.
@@ -222,12 +223,9 @@ function eventSourceMetric(eventSourceMappingId, metricName) {
222
223
  * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#Lambda
223
224
  */
224
225
  export function createFunctionAlarms(scope, id, fn, config, props, eventSources = [], customAlarms = []) {
225
- if (config === false)
226
- return {};
227
- const enabled = config?.enabled ?? FUNCTION_ALARM_DEFAULTS.enabled;
228
- if (!enabled)
229
- return {};
230
- const recommended = resolveFunctionAlarmDefinitions(fn, config, props, eventSources);
226
+ const recommended = config === false || config?.enabled === false
227
+ ? []
228
+ : resolveFunctionAlarmDefinitions(fn, config, props, eventSources);
231
229
  const custom = customAlarms.map((b) => b.resolve(fn));
232
230
  return createAlarms(scope, id, [...recommended, ...custom]);
233
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,8 @@ export interface FunctionBuilderProps extends Omit<FunctionProps, "role"> {
35
35
  *
36
36
  * By default, the builder creates recommended alarms with sensible
37
37
  * thresholds for every applicable metric. Individual alarms can be
38
- * customized or disabled. Set to `false` to disable all alarms.
38
+ * customized or disabled. Set to `false` to disable the recommended
39
+ * alarms; custom alarms added via `addAlarm()` are still created.
39
40
  *
40
41
  * No alarm actions are configured by default since notification
41
42
  * methods are user-specific. Access alarms from the build result