Last active
June 20, 2020 18:21
-
-
Save sanealytics/7237c8aa7e73750df2369f62be010e5b to your computer and use it in GitHub Desktop.
Deployed function to get service trace id
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Deployed function | |
def get_service_trace_id(request): | |
if (request.method != 'POST'): | |
abort(403) | |
if (request.headers['content-type'] != 'application/json'): | |
raise NameError("ERROR: JSON content-type expected") | |
request_json = request.get_json(silent=True) | |
if not request_json or "service" not in request_json: | |
raise NameError("Please provide parameter 'service' name, 'instance' name optional") | |
service = request_json["service"] | |
instance = request_json["instance"] if "instance" in request_json else "default" | |
version = request_json["version"] if "version" in request_json else None | |
metadata = request_json["metadata"] if "metadata" in request_json else None | |
return service_trace_id(service, instance, version, metadata) | |
def service_trace_id(service, instance='default', version=None, metadata=None): | |
global service_tracker | |
global bq_cl | |
if not service_tracker or not bq_cl: | |
__connect_service_tracker() | |
tid = elt.get_tid(service, instance) | |
rows = [ | |
{ | |
'service': service.upper(), | |
'instance': instance, | |
'tid': tid, | |
'version': version, | |
'metadata': metadata, | |
'added_ts': datetime.now() | |
} | |
] | |
errors = bq_cl.insert_rows(service_tracker, rows) | |
if errors: | |
print('Errors:') | |
for error in errors: | |
print(error) | |
return json.dumps({'tid': tid}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment