Ich wollte eine Funktion, die nicht im Python SDK enthalten ist, über Cloud-Funktionen aufrufen, aber da der Befehl gcloud nicht in Cloud-Funktionen enthalten ist, musste ich die Cloud-API direkt aufrufen (gcloud ist nicht auf dem Rechenknoten installiert, auf dem Cloud-Funktionen ausgeführt werden).
Wenn Sie die Cloud-API über REST über Cloud-Funktionen aufrufen möchten, können Sie sie durch folgende Authentifizierung aufrufen.
def hello_world(request):
import google.auth
from google.auth.transport import requests
# Get the credentials and project ID from the environment.
credentials, project = google.auth.default(
scopes=['https://www.googleapis.com/auth/cloud-platform'])
# Create a requests Session object with the credentials.
session = requests.AuthorizedSession(credentials)
# Make an authenticated API request
response = session.get(
'https://www.googleapis.com/storage/v1/b'.format(project),
params={'project': project})
response.raise_for_status()
retrun response.text
Zum Testen der API allein wird ein Testformular erstellt, was praktisch ist https://cloud.google.com/storage/docs/json_api/v1/buckets/list
Recommended Posts