Skip to content

Commit d96ae3f

Browse files
tabossertclaude
andcommitted
fix: Ensure Bedrock always has a region specified
Bedrock service requires a region to be specified. Update region resolution to: 1. Check BEDROCK_REGION_NAME first 2. Fallback to AWS_DEFAULT_REGION 3. Default to us-west-2 if neither is set This fixes the NoRegionError in tests while maintaining flexibility. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent ee4bbbc commit d96ae3f

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

unstructured_ingest/embed/bedrock.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@ class BedrockEmbeddingConfig(EmbeddingConfig):
6262
aws_secret_access_key: SecretStr | None = Field(
6363
description="aws secret access key", default=None
6464
)
65-
region_name: str | None = Field(
65+
region_name: str = Field(
6666
description="aws region name",
67-
default_factory=lambda: os.getenv("BEDROCK_REGION_NAME")
67+
default_factory=lambda: (
68+
os.getenv("BEDROCK_REGION_NAME") or
69+
os.getenv("AWS_DEFAULT_REGION") or
70+
"us-west-2"
71+
)
6872
)
6973
endpoint_url: str | None = Field(description="custom bedrock endpoint url", default=None)
7074
access_method: str = Field(
@@ -136,10 +140,9 @@ def run_precheck(self) -> None:
136140
raise self.wrap_error(e=e)
137141

138142
def get_client_kwargs(self) -> dict:
139-
kwargs = {}
140-
141-
if self.region_name:
142-
kwargs["region_name"] = self.region_name
143+
kwargs = {
144+
"region_name": self.region_name,
145+
}
143146

144147
if self.endpoint_url:
145148
kwargs["endpoint_url"] = self.endpoint_url

0 commit comments

Comments
 (0)