管理状态和配置# Manage states State types Final state determination Task return values Flow return values Execute code on state changes Available state change hooks Pass kwargs to state change hooks Example usage: send a notification when a flow run fails Manage results Configuring result persistence Default persistence configuration Enabling result persistence Result storage Specifying a default filesystem Result filenames Result serialization Advanced: Caching results in memory Create run artifacts Create artifacts Create link artifacts Create progress artifacts Create Markdown artifacts Create table artifacts Create image artifacts Manage artifacts Reading artifacts Fetching artifacts Delete artifacts Artifacts API Set and get variables Manage variables Through the Prefect UI Through the REST API Through the CLI Access variables In Python code In prefect.yaml deployment steps Securely store typed configuration How blocks work Block type Block document Block class Using blocks Nested blocks Create a new block type Register custom blocks Secret fields Customize a block’s display Update custom Block types Pre-registered blocks Built-in blocks Blocks in Prefect integration libraries