in reverse_geocoding_lambda/lambda_function.py [0:0]
def handler(event, context):
logger = logging.getLogger(__name__)
arguments = event["arguments"]
logger.debug('Received arguments: %s.', arguments)
results = []
try:
for arg in arguments:
req = {'IndexName': PLACE_INDEX, 'Position': [arg[1], arg[0]]}
response = client.search_place_index_for_position(**req)
if len(response["Results"]) >= 1:
results.append(json.dumps({
"Longitude": response["Results"][0]["Place"]["Geometry"]["Point"][0],
"Latitude": response["Results"][0]["Place"]["Geometry"]["Point"][1],
"Label": response["Results"][0]["Place"]["Label"]
}))
else:
results.append({})
return json.dumps({
"success": True,
"num_records": len(results),
"results": results
})
except ClientError as e:
logger.error('Error: %s.', e)
return {
"success": False,
"error_msg": str(e),
"num_records": 0,
"results": []
}