FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Re: bulkOperationをPOSTしたが、処理されない。

解決済

bulkOperationをPOSTしたが、処理されない。

akky
Shopify Partner
24 2 2

背景

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の処理したログの確認方法を教えて下さい

1 件の受理された解決策

akky
Shopify Partner
24 2 2

成功

解決しました。

bulkOperationでバリエーションのメタフィールドを一括で更新したかったのですが、そこで問題があったようです。

 

メタフィールドの型を「single_line_text_field」を設定しており、例えば"M"→""に更新する際にエラーになるようです。この問題はエラーとして記録されないようです。

値は空にする場合は""と更新するのではなく、メタフィールドを削除することで解決しました。

元の投稿で解決策を見る

2件の返信2

akky
Shopify Partner
24 2 2

似たような内容で下記のトピックスが見つかりました。

BulkOperation Graphql API Return "Null" In URL Field

 

こちらはMutationではクエリーです。

こちらのトピックでの解決策はAPIを変えたら、動いたそうです。

akky
Shopify Partner
24 2 2

成功

解決しました。

bulkOperationでバリエーションのメタフィールドを一括で更新したかったのですが、そこで問題があったようです。

 

メタフィールドの型を「single_line_text_field」を設定しており、例えば"M"→""に更新する際にエラーになるようです。この問題はエラーとして記録されないようです。

値は空にする場合は""と更新するのではなく、メタフィールドを削除することで解決しました。