Handy Task that triggers a Google Cloud Function (...
# show-us-what-you-got
m
Handy Task that triggers a Google Cloud Function (assumes you have your GCP credentials saved as a
Secret
in Prefect)
Copy code
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
👏 8