Code samples
requests
curl "http://metadata.google.internal/computeMetadata/v1/project/{item_name}" \
-H "Metadata-Flavor: Google"
# refer https://cloud.google.com/compute/docs/storing-retrieving-metadata#api_3
import requests
endpoint = 'http://metadata.google.internal'
path = '/computeMetadata/v1/project/'
path += item_name
response = requests.get(
'{}{}'.format(endpoint, path),
headers={'Metadata-Flavor': 'Google'}
)
metadata = response.text
return metadata
JWT
JWT assertion
is used to decode email and persistent Id.
# code taken from https://cloud.google.com/python/docs/getting-started/authenticate-users#app-managed_authentication
from jose import jwt
try:
info = jwt.decode(
assertion,
certs(),
algorithms=['ES256'],
audience=audience()
)
return info['email'], info['sub']
except Exception as e:
print('Failed to validate assertion: {}'.format(e), file=sys.stderr)
return None, None
#random code
user_id = request.headers.get('X-Goog-Authenticated-User-ID')
assertion = request.headers.get('X-Goog-IAP-JWT-Assertion')
Pattern match
# matches lines like:
# 2018-02-13 22:30:41,701 6538b6ae MainThread pgbench(1/9) ...
stream_match = re.match(r'^\d\d\d\d-\d\d-\d\d .*?Thread'
r'.*?\((\d*)\/\d*\)', line)
# matches lines like (one line):
# 2018-02-14 17:59:57,297 6538b6ae MainThread pkb.py:856 INFO
# Benchmark run statuses:
end_match = re.match(r'^\d\d\d\d-\d\d-\d\d.*'
r'Benchmark run statuses:', line)
login via terminal
gcloud auth login --no-launch-browser
firebase login --no-localhost
Last updated
Was this helpful?