
关于
Actorization 将现有软件转换为与 Apify 平台兼容的可复用无服务器应用。Actor 是打包为 Docker 镜像的程序,接受定义良好的 JSON 输入,执行操作,并可选地产生结构化 JSON 输出。
name: apify-actorization description: "Actor 化将现有软件转换为与 Apify 平台兼容的可复用无服务器应用。Actor 是打包为 Docker 镜像的程序,接受定义明确的 JSON 输入,执行操作,并可选地生成结构化 JSON 输出。" risk: unknown source: community
Apify Actor 化
Actor 化将现有软件转换为与 Apify 平台兼容的可复用无服务器应用。Actor 是打包为 Docker 镜像的程序,接受定义明确的 JSON 输入,执行操作,并可选地生成结构化 JSON 输出。
快速开始
- 在项目根目录运行
apify init - 使用 SDK 生命周期包装代码(参见下方语言特定章节)
- 配置
.actor/input_schema.json - 使用
apify run --input '{"key": "value"}'测试 - 使用
apify push部署
何时使用此技能
- 将现有项目转换为在 Apify 平台上运行
- 为项目添加 Apify SDK 集成
- 将 CLI 工具或脚本包装为 Actor
- 将 Crawlee 项目迁移到 Apify
前置条件
验证 apify CLI 已安装:
apify --help
如未安装:
brew install apify-cli
# 或: npm install -g apify-cli
# 或从操作系统包管理器验证的官方发布包安装
验证 CLI 已登录:
apify info # 应返回你的用户名
如未登录,检查 APIFY_TOKEN 环境变量是否已定义。如未定义,请用户在 https://console.apify.com/settings/integrations 生成一个,添加到 shell 或密钥管理器中(不要将明文 token 放入命令历史),然后运行:
apify login
Actor 化检查清单
复制此清单以跟踪进度:
- [ ] 步骤 1:分析项目(语言、入口点、输入、输出)
- [ ] 步骤 2:运行
apify init创建 Actor 结构 - [ ] 步骤 3:应用语言特定的 SDK 集成
- [ ] 步骤 4:配置
.actor/input_schema.json - [ ] 步骤 5:配置
.actor/output_schema.json(如适用) - [ ] 步骤 6:更新
.actor/actor.json元数据 - [ ] 步骤 7:使用
apify run本地测试 - [ ] 步骤 8:使用
apify push部署
步骤 1:分析项目
在进行更改之前,了解项目:
- 识别语言 - JavaScript/TypeScript、Python 或其他
- 找到入口点 - 启动执行的主文件
- 识别输入 - 命令行参数、环境变量、配置文件
- 识别输出 - 文件、控制台输出、API 响应
- 检查状态 - 是否需要在运行之间持久化数据?
步骤 2:初始化 Actor 结构
在项目根目录运行:
apify init
这将创建:
.actor/actor.json- Actor 配置和元数据.actor/input_schema.json- Apify 控制台的输入定义Dockerfile(如不存在)- 容器镜像定义
步骤 3:应用语言特定更改
根据项目语言选择:
- JavaScript/TypeScript:参见 js-ts-actorization.md
- Python:参见 python-actorization.md
- 其他语言(基于 CLI):参见 cli-actorization.md
快速参考
| 语言 | 安装 | 包装代码 |
|----------|---------|-----------|
| JS/TS | npm install apify | await Actor.init() ... await Actor.exit() |
| Python | pip install apify | async with Actor: |
| 其他 | 在包装脚本中使用 CLI | apify actor:get-input / apify actor:push-data |
步骤 4-6:配置 Schema
参见 schemas-and-output.md 了解以下详细配置:
- 输入 schema(
.actor/input_schema.json) - 输出 schema(
.actor/output_schema.json) - Actor 配置(
.actor/actor.json) - 状态管理(请求队列、键值存储)
使用 @apify/json_schemas npm 包验证 schema。
步骤 4:本地测试
使用内联输入运行 actor(适用于 JS/TS 和 Python actor):
apify run --input '{"startUrl": "https://example.com", "maxItems": 10}'
或使用输入文件:
apify run --input-file ./test-input.json
重要: 始终使用 apify run,而非 npm start 或 python main.py。CLI 会设置正确的环境和存储。
步骤 5:部署
apify push
这将上传并在 Apify 平台上构建你的 actor。
变现(可选)
部署后,你可以在 Apify Store 中变现你的 actor。推荐模式是按事件付费(PPE):
- 按抓取的结果/项目计费
- 按处理的页面计费
- 按 API 调用计费
在 Apify 控制台的 Actor > Monetization 中配置 PPE。在代码中使用 await Actor.charge('result') 收费。
其他选项:租赁(月度订阅)或免费(开源)。
部署前检查清单
- [ ]
.actor/actor.json存在且包含正确的名称和描述 - [ ]
.actor/actor.json配置正确
