To create a variable stored in the Prefect backend, use Variable.set()
.
To read a variable, use Variable.get()
.
To read a variable with a fallback value, use Variable.get(default=...)
.
To update a variable, use Variable.set(value, overwrite=True)
.
To delete a variable, use Variable.unset()
.
Contextual Behavior
In a sync context (such as an if __name__ == "__main__"
block or simple def
scope), these methods are used synchronously.
In an async context (such as an async def
scope), they are used asynchronously.
prefect.yaml
deployment stepsIn prefect.yaml
files, variables are expressed as strings wrapped in quotes and double curly brackets:
Use variables to templatize deployment steps by
referencing them in the prefect.yaml
file that creates the deployments.
For example, you can pass in a variable to specify a branch for a git repo in a deployment pull
step:
The deployment_branch
variable is evaluated at runtime for the deployed flow, allowing changes to variables used in a pull action without updating a deployment directly.