products/update 全量 payload 太大怎么裁剪
现象#
一个两千变体的商品每次保存都推来几 MB JSON,网关偶发 413、函数内存告警;Logs 投递详情里的 Payload size 一路涨。
原因#
- 默认投递整个资源,变体、图片、metafield 全带上,变体越多体积越大
- 批量改价会为每个商品各发一条,几十条大 payload 同时到达打满入口带宽
- handler 里先 JSON.parse 整包再丢字段,内存峰值与 payload 成正比
- 用 products/update 同步库存,而库存本来有更轻的 inventory_levels 事件
处理步骤#
- 订阅加
include_fields,只留id、updated_at、variants.price - 用
filter限定如status:active,减少无关投递 - 精简后必须保留会变化的字段,否则相邻两条 payload 相同会被去抖丢掉
- 缺字段时按 id 回查
product(id:),别在入口做大对象同步 - 库存同步改订
inventory_levels/update,避免盘点时推整包商品
验收标准#
同一次保存的 Payload size 降到原来的十分之一以内,入口不再 413,函数内存曲线平稳。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。