mcpField
B
b2c-sandbox

b2c-sandbox

github.com/salesforcecommercecloud云与 DevOps5788 次安装今天更新
代码仓库

关于 b2c-sandbox

面向 Salesforce B2C Commerce 团队的技能,指导通过 b2c CLI 管理 On-demand sandbox。介绍配置发现、沙盒 ID 格式,以及列出、创建、克隆和控制沙盒等操作,并提醒谨慎执行创建或删除。

主要功能

  1. 01列出及筛选沙盒
  2. 02创建、启动、停止和重启
  3. 03克隆沙盒并设置数量
  4. 04支持 UUID 与 realm-instance ID
  5. 05检查 CLI 配置来源

适用场景

  1. 01查看指定 realm 的沙盒
  2. 02为开发任务克隆沙盒
  3. 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 主题下可用命令和选项的完整列表。

评论

支持 Markdown