用途:该技能扮演 Flex Gateway 策略专家,帮助开发者用 MuleSoft 的 Policy Development Kit(PDK)脚手架、构建并发布自定义策略,覆盖完整生命周期。
主要流程与能力: 一、校验前置条件,检查 Anypoint CLI v4 及其 PDK 插件、Rust、wasm32-wasip1 目标与 Anypoint 平台凭据;任一检查失败应停止,交由 pdk-prerequisites 技能处理。 二、确认策略名称(小写 kebab-case,仅字母数字与连字符)与目标目录。 三、用 anypoint-cli-v4 pdk policy-project create --name <policy-name> 生成项目骨架(含 Cargo.toml、Makefile、definition/gcl.yaml、src/lib.rs、tests/、playground/ 等),并进入该目录。 四、运行 make setup 安装项目固定版本的 cargo-anypoint 等工具,注意它会覆盖全局 cargo-anypoint 安装。 五、编辑 definition/gcl.yaml 声明配置 schema,敏感属性需加 @context.@characteristics: [security:sensitive];改后运行 make build-asset-files 重新生成 src/generated/config.rs,不应手动修改该文件。 六、make build 编译为 WebAssembly,产物位于 target/wasm32-wasip1/release/。 七、用 playground/ 的 docker-compose 在本地 Flex Gateway 上运行,需要 playground/config/ 下的 registration.yaml(本地模式,--connected=false)并配置 api.yaml,用 make run 启动,默认监听 http://localhost:8081,可用 curl 验证。 八、make publish 发布带 -dev 和时间戳的开发版本到 Exchange,供开发与集成测试,不适合生产流量。 九、make release 发布不可变的语义化版本正式版,版本号取自 Cargo.toml,需先确认版本未被占用。
限制与注意:发布失败常见 401/403,需具备目标组织的 Exchange Contributor 权限;正式版不可覆盖,出错只能发布新的补丁版本;策略已应用但不生效时,需在 API Manager 更新定义版本并执行“Check for implementation updates”强制刷新实现。PDK 升级需按顺序手动升级五个组件。策略自身的业务逻辑位于 src/lib.rs,属于本技能范围之外。具体收费、价格与平台支持等信息暂未提供。