diff --git a/providers/amazon/src/airflow/providers/amazon/aws/queues/sqs.py b/providers/amazon/src/airflow/providers/amazon/aws/queues/sqs.py index 6ae8a00b7c9d2..8d67139576662 100644 --- a/providers/amazon/src/airflow/providers/amazon/aws/queues/sqs.py +++ b/providers/amazon/src/airflow/providers/amazon/aws/queues/sqs.py @@ -33,7 +33,7 @@ from airflow.triggers.base import BaseEventTrigger # [START queue_regexp] -QUEUE_REGEXP = r"^https://sqs\.[^.]+\.amazonaws\.com/[0-9]+/.+" +QUEUE_REGEXP = r"^https://sqs\.[^.]+\.(amazonaws\.com|amazonaws\.cn)/[0-9]+/.+" # [END queue_regexp] diff --git a/providers/amazon/tests/unit/amazon/aws/queues/test_sqs.py b/providers/amazon/tests/unit/amazon/aws/queues/test_sqs.py index 6e5c4b46a3ea2..486e8c955b836 100644 --- a/providers/amazon/tests/unit/amazon/aws/queues/test_sqs.py +++ b/providers/amazon/tests/unit/amazon/aws/queues/test_sqs.py @@ -35,10 +35,15 @@ def test_message_sqs_queue_matches(): from airflow.providers.amazon.aws.queues.sqs import SqsMessageQueueProvider provider = SqsMessageQueueProvider() + # Standard AWS regions assert provider.queue_matches("https://sqs.us-east-1.amazonaws.com/123456789012/my-queue") assert not provider.queue_matches("https://sqs.us-east-1.amazonaws.com/123456789012") assert not provider.queue_matches("https://sqs.us-east-1.amazonaws.com/123456789012/") assert not provider.queue_matches("https://sqs.us-east-1.amazonaws.com/") + # AWS China regions (cn-north-1, cn-northwest-1) + assert provider.queue_matches("https://sqs.cn-north-1.amazonaws.cn/123456789012/my-queue") + assert provider.queue_matches("https://sqs.cn-northwest-1.amazonaws.cn/123456789012/my-queue") + assert not provider.queue_matches("https://sqs.cn-north-1.amazonaws.cn/123456789012") @pytest.mark.parametrize(