99
1010import boto3
1111from asyncer import asyncify
12+ from botocore .config import Config
1213from botocore .exceptions import ClientError
1314from taskiq import AsyncBroker
1415from taskiq .abc .result_backend import AsyncResultBackend
@@ -37,6 +38,7 @@ def __init__(
3738 result_backend : Optional [AsyncResultBackend ] = None ,
3839 task_id_generator : Optional [Callable [[], str ]] = None ,
3940 sqs_region_override : str | None = None ,
41+ sqs_credentials_source_override : str | None = None ,
4042 ) -> None :
4143 super ().__init__ (result_backend , task_id_generator )
4244
@@ -45,7 +47,10 @@ def __init__(
4547
4648 self .sqs_queue_url = sqs_queue_url
4749 self ._sqs : SQSServiceResource = boto3 .resource (
48- "sqs" , region_name = sqs_region_override
50+ "sqs" ,
51+ config = Config (
52+ region_name = sqs_region_override , credential_source = sqs_credentials_source_override
53+ ),
4954 )
5055 self ._sqs_queue : Optional [Queue ] = None
5156
@@ -59,9 +64,7 @@ async def _get_queue(self) -> Queue:
5964 queue_name = self .sqs_queue_url .split ("/" )[- 1 ]
6065
6166 if not self ._sqs_queue :
62- self ._sqs_queue = await asyncify (self ._sqs .get_queue_by_name )(
63- QueueName = queue_name
64- )
67+ self ._sqs_queue = await asyncify (self ._sqs .get_queue_by_name )(QueueName = queue_name )
6568
6669 if not self ._sqs_queue :
6770 raise Exception ("SQS Queue not found" )
0 commit comments