diff --git a/src/Event/Sqs/SqsRecord.php b/src/Event/Sqs/SqsRecord.php index 4c9db8058..300b27ebc 100644 --- a/src/Event/Sqs/SqsRecord.php +++ b/src/Event/Sqs/SqsRecord.php @@ -57,6 +57,17 @@ public function getReceiptHandle(): string return $this->record['receiptHandle']; } + /** + * Returns the name of the SQS queue that contains the message. + * Queue naming constraints: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-queues.html + */ + public function getQueueName(): string + { + $parts = explode(':', $this->record['eventSourceARN']); + + return $parts[count($parts) - 1]; + } + /** * Returns the record original data as an array. * diff --git a/tests/Event/Sqs/SqsRecordTest.php b/tests/Event/Sqs/SqsRecordTest.php new file mode 100644 index 000000000..b83f190ff --- /dev/null +++ b/tests/Event/Sqs/SqsRecordTest.php @@ -0,0 +1,18 @@ +assertSame($sqsRecord->getQueueName(), 'my-queue'); + } +}