{"record":{"id":"117dc96f65b0a79c","repo":"openai/openai-python","slug":"bedrock-requires-an-aws-region-pass-region-to-117dc9","errorCode":null,"errorMessage":"Bedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.","messagePattern":"Bedrock requires an AWS region\\. Pass `region` to `bedrock\\(\\.\\.\\.\\)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`\\.","errorType":"exception","errorClass":"OpenAIError","httpStatus":null,"severity":"error","filePath":"src/openai/providers/bedrock.py","lineNumber":355,"sourceCode":"            bearer_provider = self.token_provider\n            region = self.configured_region\n        elif self.use_environment_bearer:\n            bearer_provider = environment_token\n            region = self.configured_region\n        else:\n            aws_config, aws_auth = self._resolve_aws_auth()\n            region = aws_config.region\n            _validate_bedrock_region(region)\n            base_url = self.configured_base_url or _default_bedrock_base_url(self.endpoint, region)\n            _validate_canonical_bedrock_endpoint(base_url, endpoint=self.endpoint, region=region)\n            auth = _BedrockSigV4Auth(config=aws_config, base_url=base_url, auth=aws_auth)\n\n        if self.configured_base_url is not None:\n            base_url = self.configured_base_url\n        elif region is not None:\n            base_url = _default_bedrock_base_url(self.endpoint, region)\n        else:\n            raise OpenAIError(\n                \"Bedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or \"\n                \"`AWS_DEFAULT_REGION`.\"\n            )\n\n        if bearer_provider is not None:\n            auth = _BedrockBearerAuth(bearer_provider, base_url=base_url)\n\n        assert auth is not None\n        if isinstance(auth, _BedrockSigV4Auth):\n            return _BedrockProviderRuntime(\n                name=self.name,\n                base_url=base_url,\n                region=region,\n                transform_request=_without_redirects,\n                prepare_request=auth.prepare_request,\n                prepare_async_request=auth.prepare_async_request,\n            )\n","sourceCodeStart":337,"sourceCodeEnd":373,"githubUrl":"https://github.com/openai/openai-python/blob/9917c6e28e66e90e1227b3d223c06a8c5441515a/src/openai/providers/bedrock.py#L337-L373","documentation":"configure() needs a region to build the default Bedrock base_url. If no base_url was configured and no region came from the argument or AWS_REGION/AWS_DEFAULT_REGION, it cannot construct an endpoint and raises this OpenAIError explaining where to supply the region.","triggerScenarios":"Calling bedrock() with neither region nor base_url while AWS_REGION and AWS_DEFAULT_REGION are both unset; or configuring only bearer credentials without a region.","commonSituations":"Fresh environments without AWS CLI configuration; containers/CI with no AWS env; ~/.aws/config missing a default region.","solutions":["Pass region=\"us-east-1\" (etc.) to bedrock(...).","Export AWS_REGION or AWS_DEFAULT_REGION.","Alternatively supply a full base_url, which removes the need for a region to derive the hostname."],"exampleFix":"# before\nprovider = bedrock()\n\n# after\nprovider = bedrock(region=\"us-east-1\")\n# or export AWS_REGION=us-east-1","handlingStrategy":"validation","validationCode":"import os\nregion = region or os.environ.get(\"AWS_REGION\") or os.environ.get(\"AWS_DEFAULT_REGION\")\nassert region or base_url, \"Bedrock needs region or base_url\"","typeGuard":"def bedrock_region_resolved(region: str | None, base_url: str | None) -> bool:\n    import os\n    return bool(base_url or region or os.environ.get(\"AWS_REGION\") or os.environ.get(\"AWS_DEFAULT_REGION\"))","tryCatchPattern":"try:\n    provider = bedrock()\nexcept OpenAIError as e:\n    if \"requires an AWS region\" in str(e):\n        provider = bedrock(region=\"us-east-1\")\n    else:\n        raise","preventionTips":["Always pass region explicitly in application code rather than relying on ambient env.","Set AWS_REGION in Dockerfiles/CI templates.","Include provider construction in smoke tests."],"tags":["bedrock","aws","region","config","env-var"],"backgroundTag":"missing-aws-region","analyzedSha":"9917c6e28e66e90e1227b3d223c06a8c5441515a","analyzedAt":"2026-08-28T11:46:34.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}