in cloud-functions/rideshare-plus-rest-api/main.py [0:0]
def get_streaming_data(request: flask.Request) -> flask.Response:
try:
print("BEGIN: get_streaming_data")
project_id = os.environ['PROJECT_ID']
print("project_id: ", project_id)
client = bigquery.Client()
sql = "SELECT * FROM `" + project_id + ".rideshare_lakehouse_curated.website_realtime_dashboard`"
query_job = client.query(sql);
results = query_job.result()
replies = []
for row in results:
row_dict = { "ride_count": row.ride_count,
"average_ride_duration_minutes": row.average_ride_duration_minutes,
"average_total_amount": row.average_total_amount,
"average_ride_distance": row.average_ride_distance,
"max_pickup_location_zone": row.max_pickup_location_zone,
"max_pickup_ride_count": row.max_pickup_ride_count,
"max_dropoff_location_zone": row.max_dropoff_location_zone,
"max_dropoff_ride_count": row.max_dropoff_ride_count
}
replies.append(row_dict)
# print("{} : {} ".format(row.urride_countl, row.average_ride_duration_minutes))
flask_response = flask.make_response(flask.jsonify({'data': replies}), 200)
flask_response.headers['Access-Control-Allow-Origin'] = '*'
print("END: get_streaming_data")
return flask_response
except Exception as e:
print ("Exception (get_streaming_data): " + str(e))
flask_response_error = flask.make_response(flask.jsonify({'errorMessage': str(e)}), 400)
flask_response_error.headers['Access-Control-Allow-Origin'] = '*'
return flask_response_error