Skip to content

Commit 5338af3

Browse files
authored
Merge branch 'develop' into time2
2 parents 13cfc25 + 966d348 commit 5338af3

File tree

17 files changed

+1235
-195
lines changed

17 files changed

+1235
-195
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,19 @@
77
## Documentation
88

99
* **homepage:** remove v1 layer limitation on pydantic not being included
10+
* **tracer:** add note on why X-Ray SDK over ADOT closes [#1675](https://github.com/awslabs/aws-lambda-powertools-python/issues/1675)
1011

1112
## Features
1213

1314
* **metrics:** add EphemeralMetrics as a non-singleton option ([#1676](https://github.com/awslabs/aws-lambda-powertools-python/issues/1676))
15+
* **parameters:** add get_parameters_by_name for SSM params in distinct paths ([#1678](https://github.com/awslabs/aws-lambda-powertools-python/issues/1678))
16+
17+
## Maintenance
18+
19+
* **deps-dev:** bump aws-cdk-lib from 2.49.0 to 2.50.0 ([#1683](https://github.com/awslabs/aws-lambda-powertools-python/issues/1683))
20+
* **deps-dev:** bump mypy-boto3-dynamodb from 1.25.0 to 1.26.0.post1 ([#1682](https://github.com/awslabs/aws-lambda-powertools-python/issues/1682))
21+
* **deps-dev:** bump mypy-boto3-cloudformation from 1.25.0 to 1.26.0.post1 ([#1679](https://github.com/awslabs/aws-lambda-powertools-python/issues/1679))
22+
* **package:** correct pyproject version manually
1423

1524

1625
<a name="v2.1.0"></a>

aws_lambda_powertools/shared/functions.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import base64
2+
import itertools
23
import logging
34
import os
45
import warnings
56
from binascii import Error as BinAsciiError
6-
from typing import Optional, Union, overload
7+
from typing import Dict, Generator, Optional, Union, overload
78

89
from aws_lambda_powertools.shared import constants
910

@@ -115,3 +116,8 @@ def powertools_debug_is_set() -> bool:
115116
return True
116117

117118
return False
119+
120+
121+
def slice_dictionary(data: Dict, chunk_size: int) -> Generator[Dict, None, None]:
122+
for _ in range(0, len(data), chunk_size):
123+
yield {dict_key: data[dict_key] for dict_key in itertools.islice(data, chunk_size)}

aws_lambda_powertools/utilities/feature_flags/appconfig.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
from .base import StoreProvider
1616
from .exceptions import ConfigurationStoreError, StoreClientError
1717

18-
TRANSFORM_TYPE = "json"
19-
2018

2119
class AppConfigStore(StoreProvider):
2220
def __init__(
@@ -74,7 +72,7 @@ def get_raw_configuration(self) -> Dict[str, Any]:
7472
dict,
7573
self._conf_store.get(
7674
name=self.name,
77-
transform=TRANSFORM_TYPE,
75+
transform="json",
7876
max_age=self.cache_seconds,
7977
),
8078
)

aws_lambda_powertools/utilities/parameters/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from .dynamodb import DynamoDBProvider
1010
from .exceptions import GetParameterError, TransformParameterError
1111
from .secrets import SecretsProvider, get_secret
12-
from .ssm import SSMProvider, get_parameter, get_parameters
12+
from .ssm import SSMProvider, get_parameter, get_parameters, get_parameters_by_name
1313

1414
__all__ = [
1515
"AppConfigProvider",
@@ -22,6 +22,7 @@
2222
"get_app_config",
2323
"get_parameter",
2424
"get_parameters",
25+
"get_parameters_by_name",
2526
"get_secret",
2627
"clear_caches",
2728
]

aws_lambda_powertools/utilities/parameters/appconfig.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import boto3
1010
from botocore.config import Config
1111

12+
from aws_lambda_powertools.utilities.parameters.types import TransformOptions
13+
1214
if TYPE_CHECKING:
1315
from mypy_boto3_appconfigdata import AppConfigDataClient
1416

@@ -132,7 +134,7 @@ def get_app_config(
132134
name: str,
133135
environment: str,
134136
application: Optional[str] = None,
135-
transform: Optional[str] = None,
137+
transform: TransformOptions = None,
136138
force_fetch: bool = False,
137139
max_age: int = DEFAULT_MAX_AGE_SECS,
138140
**sdk_options

0 commit comments

Comments
 (0)