Nick
05/04/2023, 12:39 PMNick
05/04/2023, 12:52 PMMarvin
05/04/2023, 12:54 PMpip install -e ".[dev]"yaml
name: your_deployment_name
description: null
version: null
tags: []
schedule: null
flow_name: your_flow_name
entrypoint: null
parameters: {}
work_pool:
  name: null
  work_queue_name: null
  job_variables: {}Nick
05/04/2023, 12:56 PMNate
05/04/2023, 1:53 PMNate
05/04/2023, 2:16 PMNate
05/04/2023, 2:16 PMNate
05/04/2023, 2:25 PMpython
from prefect import task, Flow
import requests
import json
from google.cloud import storage
@task
def extract():
    response = requests.get("<https://api.example.com/data>")
    return response.json()
@task
def transform(data):
    transformed_data = []
    for item in data:
        transformed_item = {
            "key": item["old_key"],
            "value": item["old_value"]
        }
        transformed_data.append(transformed_item)
    return transformed_data
@task
def load(data):
    storage_client = storage.Client()
    bucket = storage_client.get_bucket("your-gcs-bucket")
    blob = bucket.blob("path/to/destination/file.json")
    blob.upload_from_string(json.dumps(data))
@flow
def etl_flow():
    data = extract()
    transformed_data = transform(data)
    load(transformed_data)
if __name__ == "__main__":
    etl_flow()Nick
05/05/2023, 4:17 AMMarvin
05/05/2023, 4:23 AMCronSchedulepython
from prefect import Flow
from prefect.schedules import CronSchedule
schedule = CronSchedule("0 * * * *")  # This will run every hour
with Flow("your_flow_name", schedule=schedule) as flow:
    # Add your tasks hereGETprefect.tasks.httppython
from prefect.tasks.http import GET
get_data = GET()
data = get_data(url="your_http_endpoint")python
from prefect import task
@task
def postprocess(data):
    # Your postprocessing script here
    processed_data = ...
    return processed_data
processed_data = postprocess(data)GCSUploadprefect.tasks.gcp.storagepython
from prefect.tasks.gcp.storage import GCSUpload
upload_to_gcs = GCSUpload(bucket="your_bucket_name")
uploaded_data = upload_to_gcs(file=processed_data, destination="your_destination_path")Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by