79564243

Date: 2025-04-09 11:46:46
Score: 1
Natty:
Report link

(answering my own question)

The fix to the above was as follows:

(i) replace HOSTNAME_EXTERNAL with LOCALSTACK_HOST and add a new setting to set the Sqs Endpoint Strategy to "dynamic" as follows:

version: '3.4'
services:
  localstack:
    image: localstack/localstack:3.2.0
    environment:
      - SERVICES=dynamodb,kinesis,s3,sns,sqs
      - DEFAULT_REGION=eu-west-1
      - SQS_ENDPOINT_STRATEGY=dynamic
      - LOCALSTACK_HOST=127.0.0.1
      - LOCALSTACK_SSL=0
      - REQUESTS_CA_BUNDLE=
      - CURL_CA_BUNDLE=
    ports:
      - 4566:4566
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:4566/health" ]
      interval: 30s
      timeout: 10s
      retries: 5

(ii) As the dynamic endpoint strategy was added in 3.2.0, I needed to go to 3.2.0 rather than 3.0.1 as I was originally intending

(iii) The URL format for accessing the queues has changed .
Previously I was using

http://localhost:4566/000000000000/[queueName]?Action=ReceiveMessage

and I have now had to change this to

http://localhost:4566/000000000000/[queueName]?Action=ReceiveMessage

where [queueName] and [region] should be replaced as appropriate but the "queue" after the localhost address is actually the word "queue"

Reasons:
  • Blacklisted phrase (0.5): I need
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Self-answer (0.5):
  • Filler text (0.5): 000000000000
  • Filler text (0): 000000000000
  • Low reputation (0.5):
Posted by: Martin Bamford