matta
06/18/2021, 9:13 PMmatta
06/18/2021, 9:16 PMKevin Kho
matta
06/18/2021, 9:28 PMmatta
06/18/2021, 9:29 PMmatta
06/18/2021, 9:29 PMKevin Kho
matta
06/18/2021, 9:30 PMGCP_CREDENTIALS
in Prefect.matta
06/18/2021, 9:30 PMmatta
06/18/2021, 9:37 PMmatta
06/18/2021, 10:32 PMZanie
matta
06/18/2021, 11:32 PMimport prefect
from prefect import task, Flow, Parameter
from prefect.tasks.secrets.base import PrefectSecret
from google.oauth2 import service_account
from google.auth.transport.requests import AuthorizedSession
import requests
import json
@task
def trigger_cloud_fn(secret: PrefectSecret, url: str):
credentials = service_account.IDTokenCredentials.from_service_account_info(
secret, target_audience=url
)
authed_session = AuthorizedSession(credentials)
body = json.dumps(dict())
response = <http://authed_session.post|authed_session.post>(url=url, json=body)
return response
with Flow("run-cloud-fn") as flow:
cloud_fn_url = Parameter("cloud_fn_url", required=True)
gcp_secret = PrefectSecret("GCP_CREDENTIALS")
trigger_cloud_fn(gcp_secret, cloud_fn_url)
flow.register(project_name="tester")