何が変わるのか?
ShopifyのproductSetミューテーションは、商品ごとのバリアントの上限を100から2048に引き上げることをサポートする一環として、在庫数量の上限値の検証を強化しました。
入力検証上限
商品ごとの最大バリアント数が100から2048に増えたことに伴い、ミューテーションは、単一のミューテーション内で全てのバリアントにわたる最大在庫数量を50,000に制限します。これにより、複数の場所にまたがる多くのバリアントを持つ商品を管理する際のパフォーマンスが確保されます。
エラーレスポンス例
{
"data": {
"productSet": {
"userErrors": [{
"code": "INVENTORY_QUANTITIES_LIMIT_EXCEEDED",
"field": ["input", "variants"],
"message": "Input contains 51200 inventory quantities, which exceeds the limit of 50000"
}],
"product": null
}
}
}
なぜこの変更を行うのか?
2048バリアントのサポート
- バリアント上限の引き上げ:商品は最大2048のバリアントを持つことができるようになりました(以前は100)
- 信頼性のある実行:複雑な商品の管理時に一定のパフォーマンスを確保します
大量の在庫更新の取り扱い
50,000の在庫数量制限に達した場合、いくつかの選択肢があります:
- 操作をバッチ化する:大きな操作を複数の小さなミューテーションに分割する
-
inventorySetQuantitiesを使用する:多くの場所にわたる在庫の更新のために、inventorySetQuantitiesを使用する - バルクミューテーションを使用する:非常に大きなデータセットの場合、バルクミューテーション操作を検討する
関連する変更
これらの変更は、商品ごとの2048バリアントの上限引き上げをサポートする一環となります。この検証は、動的複雑性の計算を補完し、コスト最適化と入力検証を提供して、
productSetミューテーションが複雑な商品を効率的に処理できるようにします。productVariantsBulkCreateおよびproductVariantsBulkUpdateミューテーションも、inventoryQuantitiesの上限を強制します。
参考記事: `productSet` mutation now validates `inventoryQuantities` limits



AUTHOR
Share:
`productCreate`と`productUpdate`ミューテーションにおける動的な複雑性コスト
Polaris統合Webコンポーネントがついに安定版に