关于 b2c-sandbox
面向 Salesforce B2C Commerce 团队的技能,指导通过 b2c CLI 管理 On-demand sandbox。介绍配置发现、沙盒 ID 格式,以及列出、创建、克隆和控制沙盒等操作,并提醒谨慎执行创建或删除。
主要功能
- 01列出及筛选沙盒
- 02创建、启动、停止和重启
- 03克隆沙盒并设置数量
- 04支持 UUID 与 realm-instance ID
- 05检查 CLI 配置来源
适用场景
- 01查看指定 realm 的沙盒
- 02为开发任务克隆沙盒
- 03核对 CLI 使用的认证配置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-sandbox安装后在 Claude Code 中输入/b2c-sandbox确认已加载。
附带文件evals/trigger-evals.json
详细介绍
B2C 沙箱技能
仅在收到明确请求时创建或删除沙箱。执行破坏性操作前务必确认。
使用 b2c CLI 插件管理 Salesforce B2C Commerce 按需沙箱(ODS)。仅在收到明确请求时创建或删除沙箱,因为这些操作可能产生费用或造成破坏。
提示: 如果未全局安装
b2c,请改用npx @salesforce/b2c-cli(例如,npx @salesforce/b2c-cli sandbox list)。
别名: 仍支持
ods前缀作为向后兼容的别名(例如,b2c ods list与b2c sandbox list的功能相同)。
配置与身份验证
CLI 会自动从 SFCC_* 环境变量(包括项目 .env)、所选的项目本地或共享 dw.json 以及配置插件中发现凭据。package.json 仅提供非敏感默认值。通常无需使用 --client-id 和 --client-secret 等标志——只有在需要覆盖自动检测的值时才传入这些标志。仅在需要基于浏览器的登录时(例如,没有客户端密钥或需要交互使用)才使用 --user-auth。
运行 b2c setup inspect 查看解析后的配置,以及每个值的来源(脚本处理时使用 --json;默认情况下,密钥会保持遮蔽)。有关优先级规则和故障排查,请参阅 b2c-cli:b2c-config 技能。
沙箱 ID 格式
对特定沙箱执行操作的命令接受两种 ID 格式:
- UUID:完整的沙箱 UUID(例如,
abc12345-1234-1234-1234-abc123456789) - Realm-instance:realm-instance 格式(例如,
zzzv-123或zzzv_123)
realm-instance 格式使用 4 个字符的 realm 代码,后接短横线或下划线以及实例编号。使用 realm-instance 格式时,CLI 会自动查找对应的 UUID。
示例
列出沙箱
b2c sandbox list
# for realm zzpq with JSON output
b2c sandbox list --realm zzpq --json
# filter by status and those created by a specific user, only print the columns id,state,hostname
b2c sandbox list --filter-params 'state=started,creating&[email protected]' --realm zzpq --columns id,state,hostname
创建沙箱
仅在收到明确请求时创建沙箱,因为此操作可能产生费用。
# create in realm zzpq with 4 hour TTL (0 = infinite); json output and wait for completion (this may take 5-10 minutes; timeout is 10 minutes)
b2c sandbox create --realm zzpq --ttl 4 --json --wait
# create in realm zzpq with large profile (medium is default)
b2c sandbox create --realm zzpq --profile large
# create without automatic OCAPI/WebDAV permissions
b2c sandbox create --realm zzpq --no-set-permissions
# use a different client ID for default permissions
b2c sandbox create --realm zzpq --permissions-client-id my-other-client
# custom OCAPI settings (replaces defaults)
b2c sandbox create --realm zzpq --ocapi-settings '[{"client_id":"my-client","resources":[{"resource_id":"/code_versions","methods":["get"]}]}]'
# with start/stop scheduler
b2c sandbox create --realm zzpq --start-scheduler '{"weekdays":["MONDAY","TUESDAY"],"time":"08:00:00Z"}' --stop-scheduler '{"weekdays":["MONDAY","TUESDAY"],"time":"19:00:00Z"}'
# get full log trace output to debug
b2c sandbox create --realm zzpq --log-level trace
获取/启动/停止/重启/删除沙箱
对特定沙箱执行操作的命令同时支持 UUID 和 realm-instance 格式:
# Using UUID
b2c sandbox get abc12345-1234-1234-1234-abc123456789
b2c sandbox start abc12345-1234-1234-1234-abc123456789
b2c sandbox stop abc12345-1234-1234-1234-abc123456789
# Using realm-instance format
b2c sandbox get zzzv-123
b2c sandbox start zzzv_123
b2c sandbox stop zzzv-123
b2c sandbox restart zzzv-123
b2c sandbox delete zzzv-123 --force
克隆沙箱
# clone a sandbox (defaults to source profile, 24h TTL)
b2c sandbox clone create zzzv-123
# clone with a different profile and wait for completion
b2c sandbox clone create zzzv-123 --target-profile large --wait
# create 3 clones from the same source in one request (1 to many cloning), and wait for all of them
b2c sandbox clone create zzzv-123 --target-count 3 --wait
# list clones for a sandbox, optionally filtered to a specific 1 to many batch
b2c sandbox clone list zzzv-123
b2c sandbox clone list zzzv-123 --batch-id batch-abcd-002-1700000000000-a1b2c3d4
# get details for a specific clone
b2c sandbox clone get zzzv-123 aaaa-002-1642780893121
更多命令
请参阅 b2c sandbox --help,查看 sandbox 主题下可用命令和选项的完整列表。