Skip to content

Commit 7504fdc

Browse files
Bug: Add correct service names for timestream boto3 clients (#1716)
* add correct service names for timestream boto3 clients * format * pylint * account for write and query endpoints Co-authored-by: kukushking <[email protected]>
1 parent e6287c7 commit 7504fdc

File tree

3 files changed

+32
-14
lines changed

3 files changed

+32
-14
lines changed

awswrangler/_config.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ class _ConfigArg(NamedTuple):
4646
"lakeformation_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
4747
"dynamodb_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
4848
"secretsmanager_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
49-
"timestream_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
49+
"timestream_query_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
50+
"timestream_write_endpoint_url": _ConfigArg(dtype=str, nullable=True, enforced=True),
5051
# Botocore config
5152
"botocore_config": _ConfigArg(dtype=botocore.config.Config, nullable=True),
5253
"verify": _ConfigArg(dtype=str, nullable=True),
@@ -69,7 +70,8 @@ def __init__(self) -> None:
6970
self.lakeformation_endpoint_url = None
7071
self.dynamodb_endpoint_url = None
7172
self.secretsmanager_endpoint_url = None
72-
self.timestream_endpoint_url = None
73+
self.timestream_write_endpoint_url = None
74+
self.timestream_query_endpoint_url = None
7375
self.botocore_config = None
7476
self.verify = None
7577
for name in _CONFIG_ARGS:
@@ -390,13 +392,22 @@ def secretsmanager_endpoint_url(self, value: Optional[str]) -> None:
390392
self._set_config_value(key="secretsmanager_endpoint_url", value=value)
391393

392394
@property
393-
def timestream_endpoint_url(self) -> Optional[str]:
394-
"""Property timestream_endpoint_url."""
395-
return cast(Optional[str], self["timestream_endpoint_url"])
395+
def timestream_query_endpoint_url(self) -> Optional[str]:
396+
"""Property timestream_query_endpoint_url."""
397+
return cast(Optional[str], self["timestream_query_endpoint_url"])
396398

397-
@timestream_endpoint_url.setter
398-
def timestream_endpoint_url(self, value: Optional[str]) -> None:
399-
self._set_config_value(key="timestream_endpoint_url", value=value)
399+
@timestream_query_endpoint_url.setter
400+
def timestream_query_endpoint_url(self, value: Optional[str]) -> None:
401+
self._set_config_value(key="timestream_query_endpoint_url", value=value)
402+
403+
@property
404+
def timestream_write_endpoint_url(self) -> Optional[str]:
405+
"""Property timestream_write_endpoint_url."""
406+
return cast(Optional[str], self["timestream_write_endpoint_url"])
407+
408+
@timestream_write_endpoint_url.setter
409+
def timestream_write_endpoint_url(self, value: Optional[str]) -> None:
410+
self._set_config_value(key="timestream_write_endpoint_url", value=value)
400411

401412
@property
402413
def botocore_config(self) -> botocore.config.Config:

awswrangler/_utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,11 @@ def _get_endpoint_url(service_name: str) -> Optional[str]:
9999
endpoint_url = _config.config.dynamodb_endpoint_url
100100
elif service_name == "secretsmanager" and _config.config.secretsmanager_endpoint_url is not None:
101101
endpoint_url = _config.config.secretsmanager_endpoint_url
102-
elif service_name == "timestream" and _config.config.timestream_endpoint_url is not None:
103-
endpoint_url = _config.config.timestream_endpoint_url
102+
elif service_name == "timestream-write" and _config.config.timestream_write_endpoint_url is not None:
103+
endpoint_url = _config.config.timestream_write_endpoint_url
104+
elif service_name == "timestream-query" and _config.config.timestream_query_endpoint_url is not None:
105+
endpoint_url = _config.config.timestream_query_endpoint_url
106+
104107
return endpoint_url
105108

106109

tests/test_config.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ def wrapper(self, **kwarg):
3131
assert url == wr.config.glue_endpoint_url
3232
elif name == "secretsmanager":
3333
assert url == wr.config.secretsmanager_endpoint_url
34-
elif name == "timestream":
35-
assert url == wr.config.timestream_endpoint_url
34+
elif name == "timestream-write":
35+
assert url == wr.config.timestream_write_endpoint_url
36+
elif name == "timestream-query":
37+
assert url == wr.config.timestream_query_endpoint_url
3638
return original(self, **kwarg)
3739

3840
with patch("botocore.client.ClientCreator.create_client", new=wrapper):
@@ -117,14 +119,16 @@ def test_basics(path, glue_database, glue_table, workgroup0, workgroup1):
117119
wr.config.athena_endpoint_url = f"https://athena.{region}.amazonaws.com"
118120
wr.config.glue_endpoint_url = f"https://glue.{region}.amazonaws.com"
119121
wr.config.secretsmanager_endpoint_url = f"https://secretsmanager.{region}.amazonaws.com"
120-
wr.config.timestream_endpoint_url = f"https://timestream.{region}.amazonaws.com"
122+
wr.config.timestream_write_endpoint_url = f"https://ingest.timestream.{region}.amazonaws.com"
123+
wr.config.timestream_query_endpoint_url = f"https://query.timestream.{region}.amazonaws.com"
121124
_urls_test(glue_database)
122125
os.environ["WR_STS_ENDPOINT_URL"] = f"https://sts.{region}.amazonaws.com"
123126
os.environ["WR_S3_ENDPOINT_URL"] = f"https://s3.{region}.amazonaws.com"
124127
os.environ["WR_ATHENA_ENDPOINT_URL"] = f"https://athena.{region}.amazonaws.com"
125128
os.environ["WR_GLUE_ENDPOINT_URL"] = f"https://glue.{region}.amazonaws.com"
126129
os.environ["WR_SECRETSMANAGER_ENDPOINT_URL"] = f"https://secretsmanager.{region}.amazonaws.com"
127-
os.environ["WR_TIMESTREAM_ENDPOINT_URL"] = f"https://timestream.{region}.amazonaws.com"
130+
os.environ["WR_TIMESTREAM_WRITE_ENDPOINT_URL"] = f"https://ingest.timestream.{region}.amazonaws.com"
131+
os.environ["WR_TIMESTREAM_QUERY_ENDPOINT_URL"] = f"https://query.timestream.{region}.amazonaws.com"
128132
wr.config.reset()
129133
_urls_test(glue_database)
130134

0 commit comments

Comments
 (0)