You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Prefect Cloud免费层无需本地Agent实现Flow无服务器部署?

无需本地Agent运行Prefect Flow的下一步操作

你当前用的Process基础设施块和LocalFileSystem存储块都依赖本地环境,要实现无服务器运行,必须替换成云端托管的存储和基础设施组件,具体步骤如下:

1. 替换本地存储为云端存储块

LocalFileSystem仅能被本地Agent访问,Prefect Cloud无法直接拉取上面的Flow代码。你需要换成云端存储块,比如S3、GCS或Azure Blob Storage:

  • 可直接在Prefect UI创建对应存储块,配置好存储服务的凭证(如AWS Access Key、GCP服务账号)和存储路径;
  • 也可通过代码创建,以S3块为例:
    from prefect.filesystems import S3
    
    s3_block = S3(
        bucket_path="my-prefect-flows/reporting",
        aws_access_key_id="你的AWS密钥ID",
        aws_secret_access_key="你的AWS密钥"
    )
    s3_block.save("my-cloud-storage", overwrite=True)
    

2. 替换Process块为无服务器基础设施块

Process块需要本地Agent启动进程,要实现无服务器运行,需使用对应云服务商的无服务器基础设施块:

  • AWS用户:创建ECSTask块,配置Fargate集群、任务定义(确保镜像包含Prefect依赖)、子网和安全组;
  • GCP用户:创建CloudRunJob块,配置服务账号、镜像和资源限制;
  • Azure用户:创建AzureContainerAppsJob块,配置容器应用环境和镜像信息;
    这些块可在Prefect UI或代码中创建,核心是让Prefect Cloud能直接触发云端无服务器资源。

3. 重新构建并应用部署

使用新的存储块和基础设施块重新构建部署,示例命令:

prefect deployment build -n reporting_ff_dev-serverless -sb s3/my-cloud-storage -ib ecs-task/my-ecs-fargate-block flow.py:my_flow -a

-a参数会自动完成部署应用,无需单独执行prefect deployment apply。

4. 触发Flow运行

现在你可以在Prefect UI手动触发Flow,或设置调度规则。此时Prefect Cloud会直接调用云端无服务器基础设施拉取Flow代码并执行,完全无需本地Agent运行。

注意:Prefect Cloud免费层有每月执行次数限制,部分高级运维功能无法使用,但基础无服务器触发流程是支持的。

内容的提问来源于stack exchange,提问作者user15915737

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:25:15