Bulk Operations・レート制限・バージョン運用
大量データを制限に引っかからず処理し、APIバージョンの更新に追従できる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、大量のデータを制限に引っかからずに処理し、APIバージョンの更新に追従できるようになります。
受託では、レート制限・Bulk Operations・バージョン運用の3つが、API連携を長く動かし続ける土台になります。
レート制限は何で決まるか(コスト)
Admin APIのレート制限(呼びすぎを防ぐ仕組み)は、リクエスト数ではなく「クエリのコスト」で決まります。
レスポンスのextensions.cost.throttleStatusに、残量(currentlyAvailable)と回復速度(restoreRate)が入ります。
超えるとTHROTTLEDエラーになるので、少し待って再試行します。
バケット容量と回復速度はプランで異なるので、公式で確認してください。
Bulk Operationsとは
数万件の商品を250件ずつ取ると、レート制限とネットワークの両方で遅くなります。
Bulk Operations(非同期の一括処理)なら、bulkOperationRunQueryに通常のクエリを渡すだけで、全件がJSONL(1行に1つのJSONを並べたファイル)に書き出されます。
完了は、node(id:)でBulkOperationのstatus / urlをポーリング(定期的に問い合わせ)するか、Webhookで受け取ります。
同時実行数はバージョンで変わります(2026-01以降は緩和。公式で確認)。
一括書き込みはどうするか
数千件の更新は、bulkOperationRunMutationを使います。
入力のJSONLをstaged upload(先にファイルを預ける手順)してから、実行します。
発展:バージョン運用
コードにAPIバージョンを固定し、非推奨の警告(Dev DashboardのAPI health report、GraphiQL、changelog)を追います。
四半期ごとに、最新バージョンで動作確認します。
サポート切れのバージョンへのリクエストは、最も古いサポート中のバージョンに丸められ、挙動が変わります。
受託では「APIバージョン追従」を保守契約の項目にし、年に数回の確認作業として見積もります。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。