@message-queue-toolkit/sns 24.2.0 → 24.4.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 CHANGED
@@ -489,6 +489,164 @@ When using `locatorConfig`, you connect to an existing topic without creating it
489
489
  }
490
490
  ```
491
491
 
492
+ ### Startup Resource Polling
493
+
494
+ When your SNS topic or SQS queue may not exist at startup (e.g., created by another service or infrastructure-as-code pipeline), you can enable polling to wait for resources to become available instead of failing immediately:
495
+
496
+ ```typescript
497
+ {
498
+ locatorConfig: {
499
+ topicName: 'my-topic',
500
+ queueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789012/my-queue',
501
+ subscriptionArn: 'arn:aws:sns:us-east-1:123456789012:my-topic:uuid',
502
+
503
+ // Enable startup resource polling
504
+ startupResourcePolling: {
505
+ enabled: true,
506
+ pollingIntervalMs: 5000, // Check every 5 seconds (default)
507
+ timeoutMs: 60000, // Timeout after 60 seconds
508
+ // timeoutMs: 'NO_TIMEOUT', // Or poll indefinitely
509
+
510
+ // Optional: Non-blocking mode
511
+ nonBlocking: false, // Default: false (blocking)
512
+ },
513
+ },
514
+ }
515
+ ```
516
+
517
+ #### Blocking Mode (Default)
518
+
519
+ In blocking mode, `init()` or `start()` will wait until both the topic and queue are available:
520
+
521
+ ```typescript
522
+ const consumer = new MyConsumer(deps, {
523
+ locatorConfig: {
524
+ topicName: 'my-topic',
525
+ queueUrl: 'https://sqs...',
526
+ subscriptionArn: 'arn:aws:sns:...',
527
+ startupResourcePolling: {
528
+ enabled: true,
529
+ pollingIntervalMs: 5000,
530
+ timeoutMs: 60000,
531
+ },
532
+ },
533
+ })
534
+
535
+ // This will block until topic and queue are available (or timeout)
536
+ await consumer.start()
537
+ ```
538
+
539
+ If the timeout is reached before resources are available, a `StartupResourcePollingTimeoutError` is thrown.
540
+
541
+ #### Non-Blocking Mode
542
+
543
+ In non-blocking mode, `init()` returns immediately even if resources aren't available. Background polling continues and you're notified via callbacks:
544
+
545
+ ```typescript
546
+ const consumer = new MyConsumer(deps, {
547
+ locatorConfig: {
548
+ topicName: 'my-topic',
549
+ queueUrl: 'https://sqs...',
550
+ subscriptionArn: 'arn:aws:sns:...',
551
+ startupResourcePolling: {
552
+ enabled: true,
553
+ pollingIntervalMs: 5000,
554
+ timeoutMs: 60000,
555
+ nonBlocking: true, // Return immediately
556
+ },
557
+ },
558
+ })
559
+
560
+ // Returns immediately, even if resources don't exist yet
561
+ await consumer.start()
562
+
563
+ // Check if resources are ready
564
+ if (!consumer.resourcesReady) {
565
+ console.log('Resources not yet available, waiting in background...')
566
+ }
567
+ ```
568
+
569
+ #### Callbacks for Non-Blocking Mode
570
+
571
+ When using non-blocking mode, you can provide callbacks to be notified when resources become available or when polling fails:
572
+
573
+ ```typescript
574
+ // Using initSnsSqs directly for more control
575
+ import { initSnsSqs } from '@message-queue-toolkit/sns'
576
+
577
+ const result = await initSnsSqs(
578
+ sqsClient,
579
+ snsClient,
580
+ stsClient,
581
+ {
582
+ topicName: 'my-topic',
583
+ queueUrl: 'https://sqs...',
584
+ startupResourcePolling: {
585
+ enabled: true,
586
+ pollingIntervalMs: 5000,
587
+ timeoutMs: 60000,
588
+ nonBlocking: true,
589
+ },
590
+ },
591
+ creationConfig,
592
+ subscriptionConfig,
593
+ {
594
+ // Called when all resources become available
595
+ onResourcesReady: ({ topicArn, queueUrl }) => {
596
+ console.log('Resources are now available!')
597
+ console.log('Topic ARN:', topicArn)
598
+ console.log('Queue URL:', queueUrl)
599
+ },
600
+
601
+ // Called if background polling fails (e.g., timeout or unexpected error)
602
+ onResourcesError: (error, context) => {
603
+ if (context.isFinal) {
604
+ // Polling has stopped and will not retry
605
+ console.error('Failed to wait for resources:', error.message)
606
+ // Handle error - maybe alert, retry, or graceful degradation
607
+ } else {
608
+ // Transient error, polling will continue
609
+ console.warn('Transient error while polling:', error.message)
610
+ }
611
+ },
612
+ },
613
+ )
614
+
615
+ if (result.resourcesReady) {
616
+ console.log('Resources were immediately available')
617
+ } else {
618
+ console.log('Waiting for resources in background...')
619
+ }
620
+ ```
621
+
622
+ #### Subscription Creation Mode
623
+
624
+ When you want to **create** a subscription (no existing `subscriptionArn`), startup resource polling will wait for the topic to exist before attempting to subscribe:
625
+
626
+ ```typescript
627
+ const consumer = new MyConsumer(deps, {
628
+ locatorConfig: {
629
+ topicName: 'my-topic', // Topic created by another service
630
+ // No subscriptionArn - we'll create the subscription
631
+ startupResourcePolling: {
632
+ enabled: true,
633
+ pollingIntervalMs: 5000,
634
+ timeoutMs: 60000,
635
+ },
636
+ },
637
+ creationConfig: {
638
+ queue: { QueueName: 'my-consumer-queue' }, // Queue will be created
639
+ },
640
+ })
641
+
642
+ // This will:
643
+ // 1. Poll until the topic exists
644
+ // 2. Create the SQS queue
645
+ // 3. Subscribe the queue to the topic
646
+ // 4. Start consuming
647
+ await consumer.start()
648
+ ```
649
+
492
650
  ### Publisher Options
493
651
 
494
652
  ```typescript
@@ -24,12 +24,39 @@ export class AbstractSnsSqsConsumer extends AbstractSqsConsumer {
24
24
  else if (this.deletionConfig && this.creationConfig) {
25
25
  await deleteSqs(this.sqsClient, this.deletionConfig, this.creationConfig);
26
26
  }
27
- const initSnsSqsResult = await initSnsSqs(this.sqsClient, this.snsClient, this.stsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig, { logger: this.logger });
28
- this.queueName = initSnsSqsResult.queueName;
29
- this.queueUrl = initSnsSqsResult.queueUrl;
27
+ const initSnsSqsResult = await initSnsSqs(this.sqsClient, this.snsClient, this.stsClient, this.locatorConfig, this.creationConfig, this.subscriptionConfig, {
28
+ logger: this.logger,
29
+ // This callback is only invoked in non-blocking mode when resources were NOT
30
+ // immediately available. It will NOT be called if resourcesReady is true.
31
+ onResourcesReady: (result) => {
32
+ // Update values that were empty when resourcesReady was false
33
+ this.topicArn = result.topicArn;
34
+ this.queueUrl = result.queueUrl;
35
+ this.subscriptionArn = result.subscriptionArn;
36
+ this.queueName = result.queueName;
37
+ // Initialize DLQ now that resources are ready (this is mutually exclusive
38
+ // with the synchronous initDeadLetterQueue call below)
39
+ this.initDeadLetterQueue().catch((err) => {
40
+ this.logger.error({
41
+ message: 'Failed to initialize dead letter queue after resources became ready',
42
+ error: err,
43
+ });
44
+ });
45
+ },
46
+ });
47
+ // Always assign topicArn and queueName (always valid in both blocking and non-blocking modes)
30
48
  this.topicArn = initSnsSqsResult.topicArn;
31
- this.subscriptionArn = initSnsSqsResult.subscriptionArn;
32
- await this.initDeadLetterQueue();
49
+ this.queueName = initSnsSqsResult.queueName;
50
+ // Only assign queueUrl and subscriptionArn if resources are ready,
51
+ // or if they have valid values (non-blocking mode with locatorConfig provides valid values)
52
+ if (initSnsSqsResult.resourcesReady || initSnsSqsResult.queueUrl) {
53
+ this.queueUrl = initSnsSqsResult.queueUrl;
54
+ this.subscriptionArn = initSnsSqsResult.subscriptionArn;
55
+ }
56
+ // Only initialize DLQ if resources are ready and queueUrl is available
57
+ if (initSnsSqsResult.resourcesReady && initSnsSqsResult.queueUrl) {
58
+ await this.initDeadLetterQueue();
59
+ }
33
60
  }
34
61
  resolveMessage(message) {
35
62
  const result = readSnsMessage(message, this.errorResolver);
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AA8B7D,MAAM,OAAgB,sBAIpB,SAAQ,mBAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACpB,SAAS,CAAW;IAErC,mBAAmB;IACT,QAAQ,CAAQ;IAC1B,mBAAmB;IACT,eAAe,CAAQ;IAEjC,YACE,YAAwC,EACxC,OAAyF,EACzF,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1E,MAAM,YAAY,CAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,EACvB,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;QAEvD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAClC,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AA8B7D,MAAM,OAAgB,sBAIpB,SAAQ,mBAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IACpB,SAAS,CAAW;IAErC,mBAAmB;IACT,QAAQ,CAAQ;IAC1B,mBAAmB;IACT,eAAe,CAAQ;IAEjC,YACE,YAAwC,EACxC,OAAyF,EACzF,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1E,MAAM,YAAY,CAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,EACvB,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,6EAA6E;YAC7E,0EAA0E;YAC1E,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC3B,8DAA8D;gBAC9D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;gBAC7C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBACjC,0EAA0E;gBAC1E,uDAAuD;gBACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBAChB,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC;SACF,CACF,CAAA;QAED,8FAA8F;QAC9F,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAE3C,mEAAmE;QACnE,4FAA4F;QAC5F,IAAI,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;YACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;QACzD,CAAC;QAED,uEAAuE;QACvE,IAAI,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import type { CreateTopicCommandInput, SNSClient } from '@aws-sdk/client-sns';
2
2
  import type { CreateQueueCommandInput, SQSClient } from '@aws-sdk/client-sqs';
3
3
  import type { STSClient } from '@aws-sdk/client-sts';
4
- import type { DeletionConfig, ExtraParams } from '@message-queue-toolkit/core';
4
+ import type { DeletionConfig, ExtraParams, PollingErrorCallback } from '@message-queue-toolkit/core';
5
5
  import { type SQSCreationConfig } from '@message-queue-toolkit/sqs';
6
6
  import type { SNSCreationConfig, SNSTopicLocatorType } from '../sns/AbstractSnsService.ts';
7
7
  import type { SNSSQSQueueLocatorType } from '../sns/AbstractSnsSqsConsumer.ts';
@@ -14,7 +14,14 @@ export type InitSnsSqsExtraParams = ExtraParams & {
14
14
  onResourcesReady?: (result: {
15
15
  topicArn: string;
16
16
  queueUrl: string;
17
+ subscriptionArn: string;
18
+ queueName: string;
17
19
  }) => void;
20
+ /**
21
+ * Callback invoked when background resource polling or subscription creation fails in non-blocking mode.
22
+ * This can happen due to polling timeout or subscription creation failure.
23
+ */
24
+ onResourcesError?: PollingErrorCallback;
18
25
  };
19
26
  export type InitSnsExtraParams = ExtraParams & {
20
27
  /**
@@ -1,9 +1,109 @@
1
+ import { isError } from '@lokalise/node-core';
1
2
  import { isProduction, isStartupResourcePollingEnabled, waitForResource, } from '@message-queue-toolkit/core';
2
3
  import { deleteQueue, getQueueAttributes, resolveQueueUrlFromLocatorConfig, } from '@message-queue-toolkit/sqs';
3
4
  import { isCreateTopicCommand } from "../types/TopicTypes.js";
4
5
  import { subscribeToTopic } from "./snsSubscriber.js";
5
6
  import { assertTopic, deleteSubscription, deleteTopic, getTopicAttributes } from "./snsUtils.js";
6
7
  import { buildTopicArn } from "./stsUtils.js";
8
+ // Helper function to poll for SNS topic availability
9
+ async function pollForTopic(snsClient, topicArn, startupResourcePolling, extraParams, onResourceAvailable, onError) {
10
+ const topicResult = await waitForResource({
11
+ config: startupResourcePolling,
12
+ resourceName: `SNS topic ${topicArn}`,
13
+ logger: extraParams?.logger,
14
+ errorReporter: extraParams?.errorReporter,
15
+ onResourceAvailable,
16
+ onError,
17
+ checkFn: async () => {
18
+ const result = await getTopicAttributes(snsClient, topicArn);
19
+ if (result.error === 'not_found') {
20
+ return { isAvailable: false };
21
+ }
22
+ return { isAvailable: true, result: result.result };
23
+ },
24
+ });
25
+ return { topicResult, topicArn };
26
+ }
27
+ // Helper function to create subscription
28
+ async function createSubscription(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, extraParams) {
29
+ const { subscriptionArn, topicArn, queueUrl } = await subscribeToTopic(sqsClient, snsClient, stsClient, creationConfig.queue, topicResolutionOptions, subscriptionConfig, {
30
+ updateAttributesIfExists: creationConfig.updateAttributesIfExists,
31
+ queueUrlsWithSubscribePermissionsPrefix: creationConfig.queueUrlsWithSubscribePermissionsPrefix,
32
+ allowedSourceOwner: creationConfig.allowedSourceOwner,
33
+ topicArnsWithPublishPermissionsPrefix: creationConfig.topicArnsWithPublishPermissionsPrefix,
34
+ logger: extraParams?.logger,
35
+ forceTagUpdate: creationConfig.forceTagUpdate,
36
+ });
37
+ if (!subscriptionArn) {
38
+ throw new Error('Failed to subscribe');
39
+ }
40
+ return { subscriptionArn, topicArn, queueUrl };
41
+ }
42
+ // Helper to handle subscription creation with optional topic polling (blocking and non-blocking)
43
+ async function createSubscriptionWithPolling(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, topicArn, startupResourcePolling, extraParams) {
44
+ const nonBlocking = startupResourcePolling.nonBlocking === true;
45
+ // biome-ignore lint/style/noNonNullAssertion: QueueName is validated in initSnsSqs before calling this function
46
+ const queueName = creationConfig.queue.QueueName;
47
+ const onTopicReady = async () => {
48
+ try {
49
+ const result = await createSubscription(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, extraParams);
50
+ extraParams?.onResourcesReady?.({
51
+ topicArn: result.topicArn,
52
+ queueUrl: result.queueUrl,
53
+ subscriptionArn: result.subscriptionArn,
54
+ queueName,
55
+ });
56
+ }
57
+ catch (err) {
58
+ const error = isError(err) ? err : new Error(String(err));
59
+ extraParams?.logger?.error({
60
+ message: 'Background subscription creation failed',
61
+ topicArn,
62
+ error,
63
+ });
64
+ // Subscription creation failure is final - we don't retry
65
+ extraParams?.onResourcesError?.(error, { isFinal: true });
66
+ }
67
+ };
68
+ const { topicResult } = await pollForTopic(snsClient, topicArn, startupResourcePolling, extraParams, nonBlocking ? onTopicReady : undefined, nonBlocking ? extraParams?.onResourcesError : undefined);
69
+ // Non-blocking: return early if topic wasn't immediately available
70
+ if (nonBlocking && topicResult === undefined) {
71
+ return {
72
+ subscriptionArn: '',
73
+ topicArn,
74
+ queueName,
75
+ queueUrl: '',
76
+ resourcesReady: false,
77
+ };
78
+ }
79
+ // Blocking: topic is now available, create subscription
80
+ const result = await createSubscription(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, extraParams);
81
+ return {
82
+ subscriptionArn: result.subscriptionArn,
83
+ topicArn: result.topicArn,
84
+ queueName,
85
+ queueUrl: result.queueUrl,
86
+ resourcesReady: true,
87
+ };
88
+ }
89
+ // Helper function to poll for SQS queue availability
90
+ async function pollForQueue(sqsClient, queueUrl, startupResourcePolling, extraParams, onResourceAvailable, onError) {
91
+ return await waitForResource({
92
+ config: startupResourcePolling,
93
+ resourceName: `SQS queue ${queueUrl}`,
94
+ logger: extraParams?.logger,
95
+ errorReporter: extraParams?.errorReporter,
96
+ onResourceAvailable,
97
+ onError,
98
+ checkFn: async () => {
99
+ const result = await getQueueAttributes(sqsClient, queueUrl);
100
+ if (result.error === 'not_found') {
101
+ return { isAvailable: false };
102
+ }
103
+ return { isAvailable: true, result: result.result };
104
+ },
105
+ });
106
+ }
7
107
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: fixme
8
108
  export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig, creationConfig, subscriptionConfig, extraParams) {
9
109
  if (!locatorConfig?.subscriptionArn) {
@@ -23,17 +123,22 @@ export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig,
23
123
  ...locatorConfig,
24
124
  ...creationConfig.topic,
25
125
  };
26
- const { subscriptionArn, topicArn, queueUrl } = await subscribeToTopic(sqsClient, snsClient, stsClient, creationConfig.queue, topicResolutionOptions, subscriptionConfig, {
27
- updateAttributesIfExists: creationConfig.updateAttributesIfExists,
28
- queueUrlsWithSubscribePermissionsPrefix: creationConfig.queueUrlsWithSubscribePermissionsPrefix,
29
- allowedSourceOwner: creationConfig.allowedSourceOwner,
30
- topicArnsWithPublishPermissionsPrefix: creationConfig.topicArnsWithPublishPermissionsPrefix,
31
- logger: extraParams?.logger,
32
- forceTagUpdate: creationConfig.forceTagUpdate,
33
- });
34
- if (!subscriptionArn) {
35
- throw new Error('Failed to subscribe');
126
+ // If startup resource polling is enabled and we're not creating the topic (just locating it),
127
+ // we should poll for the topic to exist before attempting to subscribe
128
+ const startupResourcePolling = locatorConfig?.startupResourcePolling;
129
+ if (isStartupResourcePollingEnabled(startupResourcePolling) &&
130
+ !isCreateTopicCommand(topicResolutionOptions)) {
131
+ // Validate that we have either topicArn or topicName to build the ARN
132
+ if (!topicResolutionOptions.topicArn && !topicResolutionOptions.topicName) {
133
+ throw new Error('When startup resource polling is enabled and topic is not being created, either topicArn or topicName must be provided in locatorConfig to identify the topic to poll for');
134
+ }
135
+ // biome-ignore lint/style/noNonNullAssertion: Validated above that at least one of topicArn or topicName is present
136
+ const topicArnToWaitFor = topicResolutionOptions.topicArn ??
137
+ (await buildTopicArn(stsClient, topicResolutionOptions.topicName));
138
+ return await createSubscriptionWithPolling(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, topicArnToWaitFor, startupResourcePolling, extraParams);
36
139
  }
140
+ // No polling needed - create subscription immediately
141
+ const { subscriptionArn, topicArn, queueUrl } = await createSubscription(sqsClient, snsClient, stsClient, creationConfig, topicResolutionOptions, subscriptionConfig, extraParams);
37
142
  return {
38
143
  subscriptionArn,
39
144
  topicArn,
@@ -49,31 +154,29 @@ export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig,
49
154
  // If startup resource polling is enabled, poll for resources to become available
50
155
  if (isStartupResourcePollingEnabled(startupResourcePolling)) {
51
156
  const nonBlocking = startupResourcePolling.nonBlocking === true;
157
+ // Extract queueName early for use in callbacks
158
+ const splitUrl = queueUrl.split('/');
159
+ // biome-ignore lint/style/noNonNullAssertion: It's ok
160
+ const queueName = splitUrl[splitUrl.length - 1];
52
161
  // Track availability for non-blocking mode coordination
53
162
  let topicAvailable = false;
54
163
  let queueAvailable = false;
55
164
  const notifyIfBothReady = () => {
56
165
  if (nonBlocking && topicAvailable && queueAvailable) {
57
- extraParams?.onResourcesReady?.({ topicArn: subscriptionTopicArn, queueUrl });
166
+ extraParams?.onResourcesReady?.({
167
+ topicArn: subscriptionTopicArn,
168
+ queueUrl,
169
+ subscriptionArn: locatorConfig.subscriptionArn,
170
+ queueName,
171
+ });
58
172
  }
59
173
  };
60
174
  // Wait for topic to become available
61
- const topicResult = await waitForResource({
62
- config: startupResourcePolling,
63
- resourceName: `SNS topic ${subscriptionTopicArn}`,
64
- logger: extraParams?.logger,
65
- errorReporter: extraParams?.errorReporter,
66
- onResourceAvailable: () => {
67
- topicAvailable = true;
68
- notifyIfBothReady();
69
- },
70
- checkFn: async () => {
71
- const result = await getTopicAttributes(snsClient, subscriptionTopicArn);
72
- if (result.error === 'not_found') {
73
- return { isAvailable: false };
74
- }
75
- return { isAvailable: true, result: result.result };
76
- },
175
+ const { topicResult } = await pollForTopic(snsClient, subscriptionTopicArn, startupResourcePolling, extraParams, () => {
176
+ topicAvailable = true;
177
+ notifyIfBothReady();
178
+ }, (error, context) => {
179
+ extraParams?.onResourcesError?.(error, context);
77
180
  });
78
181
  // If topic was immediately available, mark it
79
182
  if (topicResult !== undefined) {
@@ -82,41 +185,30 @@ export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig,
82
185
  // If non-blocking and topic wasn't immediately available, return early
83
186
  // Background polling will continue and call notifyIfBothReady when topic is available
84
187
  if (nonBlocking && topicResult === undefined) {
85
- const splitUrl = queueUrl.split('/');
86
- // biome-ignore lint/style/noNonNullAssertion: It's ok
87
- const queueName = splitUrl[splitUrl.length - 1];
88
188
  // Also start polling for queue in background so we can notify when both are ready
89
- waitForResource({
90
- config: startupResourcePolling,
91
- resourceName: `SQS queue ${queueUrl}`,
92
- logger: extraParams?.logger,
93
- errorReporter: extraParams?.errorReporter,
94
- onResourceAvailable: () => {
95
- queueAvailable = true;
96
- notifyIfBothReady();
97
- },
98
- checkFn: async () => {
99
- const result = await getQueueAttributes(sqsClient, queueUrl);
100
- if (result.error === 'not_found') {
101
- return { isAvailable: false };
102
- }
103
- return { isAvailable: true, result: result.result };
104
- },
189
+ pollForQueue(sqsClient, queueUrl, startupResourcePolling, extraParams, () => {
190
+ queueAvailable = true;
191
+ notifyIfBothReady();
192
+ }, (error, context) => {
193
+ extraParams?.onResourcesError?.(error, context);
105
194
  })
106
195
  .then((result) => {
107
- // If queue was immediately available, waitForResource returns the result
196
+ // If queue was immediately available, pollForQueue returns the result
108
197
  // but doesn't call onResourceAvailable, so we handle it here
109
198
  if (result !== undefined) {
110
199
  queueAvailable = true;
111
200
  notifyIfBothReady();
112
201
  }
113
202
  })
114
- .catch((error) => {
203
+ .catch((err) => {
204
+ // Handle unexpected errors during background polling
205
+ const error = isError(err) ? err : new Error(String(err));
115
206
  extraParams?.logger?.error({
116
- message: 'Background polling for SQS queue failed',
207
+ message: 'Background queue polling failed unexpectedly',
117
208
  queueUrl,
118
209
  error,
119
210
  });
211
+ extraParams?.onResourcesError?.(error, { isFinal: true });
120
212
  });
121
213
  return {
122
214
  subscriptionArn: locatorConfig.subscriptionArn,
@@ -127,22 +219,9 @@ export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig,
127
219
  };
128
220
  }
129
221
  // Wait for queue to become available
130
- const queueResult = await waitForResource({
131
- config: startupResourcePolling,
132
- resourceName: `SQS queue ${queueUrl}`,
133
- logger: extraParams?.logger,
134
- errorReporter: extraParams?.errorReporter,
135
- onResourceAvailable: () => {
136
- queueAvailable = true;
137
- notifyIfBothReady();
138
- },
139
- checkFn: async () => {
140
- const result = await getQueueAttributes(sqsClient, queueUrl);
141
- if (result.error === 'not_found') {
142
- return { isAvailable: false };
143
- }
144
- return { isAvailable: true, result: result.result };
145
- },
222
+ const queueResult = await pollForQueue(sqsClient, queueUrl, startupResourcePolling, extraParams, () => {
223
+ queueAvailable = true;
224
+ notifyIfBothReady();
146
225
  });
147
226
  // If queue was immediately available, mark it
148
227
  if (queueResult !== undefined) {
@@ -150,9 +229,6 @@ export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig,
150
229
  }
151
230
  // If non-blocking and queue wasn't immediately available, return early
152
231
  if (nonBlocking && queueResult === undefined) {
153
- const splitUrl = queueUrl.split('/');
154
- // biome-ignore lint/style/noNonNullAssertion: It's ok
155
- const queueName = splitUrl[splitUrl.length - 1];
156
232
  return {
157
233
  subscriptionArn: locatorConfig.subscriptionArn,
158
234
  topicArn: subscriptionTopicArn,
@@ -1 +1 @@
1
- {"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../lib/utils/snsInitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../lib/utils/snsInitter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/sns",
3
- "version": "24.2.0",
3
+ "version": "24.4.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "SNS adapter for message-queue-toolkit",