Согласно документации, SA, запускающему облачную функцию, нуждается только в dataform.workflowInvocats.query
code>, которое я предоставил и подтвердил, что оно работает при использовании библиотеки Python Dataform (мне нужно вызвать конечную точку REST API по технической причине, которую библиотека Python не предоставляет).
Это мой код Я использую для выполнения запроса токен авторизации, который я получил здесь от самого Google, однако использую библиотеку запросов для вызова API.
Код: Выделить всё
import requests
import google.auth.transport.requests
import google.oauth2.id_token
def get_workflow_invocation_actions(environment, git_repo, workflow_invocation_id):
parent = f"projects/{environment}/locations/europe-west2/repositories/{git_repo}"
name = f"{parent}/workflowInvocations/{workflow_invocation_id}"
# The API endpoint
url = f"https://dataform.googleapis.com/v1beta1/{name}:query"
auth_req = google.auth.transport.requests.Request()
id_token = google.oauth2.id_token.fetch_id_token(auth_req, url)
# A GET request to the API
response = requests.get(url, headers={'Authorization': f'Bearer {id_token}'})
# Print the response
print(response.json())
Подробнее здесь: https://stackoverflow.com/questions/791 ... entication