Liquid、JavaScriptなどに関する質問
bulkOperationを使用し、商品バリエーションのメタフィールドを更新したいと考えております。メタフィールドにはサイズの在庫状況が保存されています。
少なくとも1ヶ月前までは問題なく、bulkOperationを実行出来ていたのですが、ここ最近上手く実行出来ていないようです。
bulkOperationRunMutationを実行後、ステータスは"CREATED"を返しますが、何時間経っても値が更新されていませんでした。
currentBulkOperationでリクエスト状況を確認した所、データはnullが返ってきます。
そこでIDを指定してリクエスト状況を確認しましたが、nullが返って来ます。
query {
node(id: "gid://shopify/BulkOperation/1045659713751") {
... on BulkOperation {
id
status
errorCode
createdAt
completedAt
objectCount
fileSize
url
partialDataUrl
}
}
}
戻り値
{
"data": {
"node": null
},
"extensions": {
"cost": {
"requestedQueryCost": 1,
"actualQueryCost": 1,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 999,
"restoreRate": 50
}
}
}
}
bulkOperationRunMutation バージョンは2022-01
mutation {
bulkOperationRunMutation(
mutation: "mutation call($input: ProductVariantInput!) { productVariantUpdate(input: $input) { userErrors {field message }}}",
stagedUploadPath: "${stagedUploadPath}") {
bulkOperation {
id
url
status
}
userErrors {
message
field
}
}
}
アップロードしたファイルのサンプル。(このような値が、あと2000件ほどあります)
{
input: {
id: "gid://shopify/ProductVariant/40234007134359",
metafields: [
{
namespace: "my_fields",
key: "_size",
type: "single_line_text_field",
value: "",
id: "gid://shopify/Metafield/22406796935383",
},
],
},
}
問題点を突き止めたいのですが、エラーログを確認出来ない為問題箇所がわかりません。
bulkOperationRunMutationのUseErrorsは空を返し、bulkOperation IDを返しますので、ここには問題がないように思えます。
アップロードしたファイルに問題があり、処理中にエラーが発生したと考えられますが、IDを指定したbulkOperationでステータスを確認してもnullを返すため、確認出来ません。
質問は、「bulkOperationの処理したログの確認方法を教えて下さい」
解決済! ベストソリューションを見る。
成功
解決しました。
bulkOperationでバリエーションのメタフィールドを一括で更新したかったのですが、そこで問題があったようです。
メタフィールドの型を「single_line_text_field」を設定しており、例えば"M"→""に更新する際にエラーになるようです。この問題はエラーとして記録されないようです。
値は空にする場合は""と更新するのではなく、メタフィールドを削除することで解決しました。
似たような内容で下記のトピックスが見つかりました。
BulkOperation Graphql API Return "Null" In URL Field
こちらはMutationではクエリーです。
こちらのトピックでの解決策はAPIを変えたら、動いたそうです。
成功
解決しました。
bulkOperationでバリエーションのメタフィールドを一括で更新したかったのですが、そこで問題があったようです。
メタフィールドの型を「single_line_text_field」を設定しており、例えば"M"→""に更新する際にエラーになるようです。この問題はエラーとして記録されないようです。
値は空にする場合は""と更新するのではなく、メタフィールドを削除することで解決しました。
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024