Skip to content

Commit aa95444

Browse files
Report 'client_region' in S3 diagnostics for clarity (#1494)
1 parent dbcbcb8 commit aa95444

4 files changed

Lines changed: 11 additions & 11 deletions

File tree

temporalio/contrib/aws/s3driver/aioboto3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def describe(self) -> Mapping[str, str]:
4040
messages to short-circuit the most common silent 403 misconfiguration.
4141
"""
4242
region = self._client.meta.region_name
43-
return {"region": region} if region else {}
43+
return {"client_region": region} if region else {}
4444

4545
async def object_exists(self, *, bucket: str, key: str) -> bool:
4646
"""Check existence via aioboto3's ``head_object``."""

tests/contrib/aws/s3driver/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from temporalio.contrib.aws.s3driver.aioboto3 import new_aioboto3_client
1515

1616
BUCKET = "test-bucket"
17-
REGION = "us-east-1"
17+
CLIENT_REGION = "us-east-1"
1818

1919

2020
def _find_free_port() -> int:
@@ -50,7 +50,7 @@ async def aioboto3_client(moto_server_url: str) -> AsyncIterator[S3Client]:
5050
session = aioboto3.Session()
5151
async with session.client(
5252
"s3",
53-
region_name=REGION,
53+
region_name=CLIENT_REGION,
5454
endpoint_url=moto_server_url,
5555
aws_access_key_id="testing",
5656
aws_secret_access_key="testing",

tests/contrib/aws/s3driver/test_s3driver.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
StorageDriverStoreContext,
3737
StorageDriverWorkflowInfo,
3838
)
39-
from tests.contrib.aws.s3driver.conftest import BUCKET, REGION
39+
from tests.contrib.aws.s3driver.conftest import BUCKET, CLIENT_REGION
4040

4141
_CONVERTER = JSONPlainPayloadConverter()
4242

@@ -620,7 +620,7 @@ async def test_store_nonexistent_bucket_raises(
620620
await driver.store(make_store_context(), [payload])
621621
assert (
622622
str(exc_info.value)
623-
== f"S3StorageDriver store failed [bucket={bucket}, key={expected_key}, region={REGION}]"
623+
== f"S3StorageDriver store failed [bucket={bucket}, key={expected_key}, client_region={CLIENT_REGION}]"
624624
)
625625
assert isinstance(exc_info.value.__cause__, ClientError)
626626
assert (
@@ -638,7 +638,7 @@ async def test_retrieve_nonexistent_key_raises(
638638
await driver.retrieve(StorageDriverRetrieveContext(), [claim])
639639
assert (
640640
str(exc_info.value)
641-
== f"S3StorageDriver retrieve failed [bucket={BUCKET}, key={key}, region={REGION}]"
641+
== f"S3StorageDriver retrieve failed [bucket={BUCKET}, key={key}, client_region={CLIENT_REGION}]"
642642
)
643643
assert isinstance(exc_info.value.__cause__, ClientError)
644644
assert (
@@ -657,7 +657,7 @@ async def test_retrieve_nonexistent_bucket_raises(
657657
await driver.retrieve(StorageDriverRetrieveContext(), [claim])
658658
assert (
659659
str(exc_info.value)
660-
== f"S3StorageDriver retrieve failed [bucket={bucket}, key={key}, region={REGION}]"
660+
== f"S3StorageDriver retrieve failed [bucket={bucket}, key={key}, client_region={CLIENT_REGION}]"
661661
)
662662
assert isinstance(exc_info.value.__cause__, ClientError)
663663
assert (
@@ -856,7 +856,7 @@ def _make_client(self, region: str | None) -> _Aioboto3StorageDriverClient:
856856

857857
def test_returns_region(self) -> None:
858858
client = self._make_client(region="ap-southeast-1")
859-
assert client.describe() == {"region": "ap-southeast-1"}
859+
assert client.describe() == {"client_region": "ap-southeast-1"}
860860

861861
def test_omits_region_when_none(self) -> None:
862862
client = self._make_client(region=None)

tests/contrib/aws/s3driver/test_s3driver_worker.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from temporalio.converter import ExternalStorage, JSONPlainPayloadConverter
2626
from temporalio.exceptions import ActivityError, ApplicationError
2727
from temporalio.testing import WorkflowEnvironment
28-
from tests.contrib.aws.s3driver.conftest import BUCKET, REGION
28+
from tests.contrib.aws.s3driver.conftest import BUCKET, CLIENT_REGION
2929
from tests.contrib.aws.s3driver.workflows import (
3030
LARGE,
3131
ChildWorkflow,
@@ -463,7 +463,7 @@ async def test_s3_store_failure_surfaces_in_workflow_history(
463463
session = aioboto3.Session()
464464
async with session.client(
465465
"s3",
466-
region_name=REGION,
466+
region_name=CLIENT_REGION,
467467
endpoint_url=moto_server_url,
468468
aws_access_key_id="testing",
469469
aws_secret_access_key="testing",
@@ -506,4 +506,4 @@ async def test_s3_store_failure_surfaces_in_workflow_history(
506506
msg = app_error.message
507507
assert f"S3StorageDriver store failed [bucket={bad_bucket}, key=" in msg
508508
assert f"/wt/LargeOutputNoRetryWorkflow/wi/{workflow_id}/ri/" in msg
509-
assert f"/d/sha256/{expected_hash}, region={REGION}]" in msg
509+
assert f"/d/sha256/{expected_hash}, client_region={CLIENT_REGION}]" in msg

0 commit comments

Comments
 (0)