forked from aws-powertools/powertools-lambda-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsecret_with_cache.py
More file actions
23 lines (15 loc) · 924 Bytes
/
Copy pathsecret_with_cache.py
File metadata and controls
23 lines (15 loc) · 924 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from typing import Any
import requests
from aws_lambda_powertools.utilities import parameters
from aws_lambda_powertools.utilities.typing import LambdaContext
def lambda_handler(event: dict, context: LambdaContext):
try:
# Usually an endpoint is not sensitive data, so we store it in SSM Parameters
endpoint_comments: Any = parameters.get_parameter("/lambda-powertools/endpoint_comments")
# An API-KEY is a sensitive data and should be stored in SecretsManager
api_key: Any = parameters.get_secret("/lambda-powertools/api-key", max_age=20)
headers: dict = {"X-API-Key": api_key}
comments: requests.Response = requests.get(endpoint_comments, headers=headers)
return {"comments": comments.json()[:10], "statusCode": 200}
except parameters.exceptions.GetParameterError as error:
return {"comments": None, "message": str(error), "statusCode": 400}