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"→""に更新する際にエラーになるようです。この問題はエラーとして記録されないようです。
値は空にする場合は""と更新するのではなく、メタフィールドを削除することで解決しました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 7, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 30, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024