matta
06/28/2021, 11:57 PMSecret
in Prefect)
import 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
@task
def trigger_cloud_fn(
secret: PrefectSecret, url: str, body: str
):
credentials = service_account.IDTokenCredentials.from_service_account_info(
secret, target_audience=url
)
authed_session = AuthorizedSession(credentials)
response = <http://authed_session.post|authed_session.post>(url=url, json=body)
return response