in source/lambda/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
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')