in source/services/solution-helper/lambda_function.py [0:0]
def custom_resource(event, _):
request_type = event["RequestType"]
resource_properties = event["ResourceProperties"]
resource = resource_properties["Resource"]
if resource == "UUID" and request_type == "Create":
random_id = str(uuid.uuid4())
helper.Data.update({"UUID": random_id})
elif resource == "AnonymousMetric":
try:
metrics_data = _sanitize_data(copy(resource_properties))
metrics_data["RequestType"] = request_type
metrics_data["SearchQuery"] = os.environ["SEARCH_QUERY"]
metrics_data["LangFilter"] = os.environ["LANG_FILTER"]
headers = {"Content-Type": "application/json"}
payload = {
"Solution": resource_properties["SolutionId"],
"UUID": resource_properties["UUID"],
"TimeStamp": datetime.utcnow().isoformat(),
"Data": metrics_data,
}
logger.info(f"Sending payload: {payload}")
response = requests.post("https://metrics.awssolutionsbuilder.com/generic", json=payload, headers=headers)
logger.info(f"Response from metrics endpoint: {response.status_code} {response.reason}")
except requests.exceptions.RequestException:
logger.exception("Could not send usage data")
except Exception:
logger.exception("Unknown error when trying to send usage data")