bulkOperationRunMutation gives not valid for shop

ammark
New Member
1 0 0

I am trying to update multiple product variants with bulkOperationRunMutation but it is giving me an obscure error.

I have download the jsonl file from bulkOperationRunQuery query, updated the data, uploaded the jsonl file to s3, and tried making a graphql request from the Shopify graphql app but I am given the following response. 

The query and the response are as follows:

mutation {
  bulkOperationRunMutation(
    mutation: "mutation call($input: ProductInput!) { productVariantUpdate(input: $input) { product { id title } productVariant {id price compareAtPrice } userErrors {field message } } }"
    stagedUploadPath: "https://shopify-bulk-update.s3.amazonaws.com/uuid/product-variants.jsonl"
    
  ) {
    bulkOperation {
      id
      url
      status
    }
    userErrors {
      code
      message
      field
    }
  }
}
{
  "data": {
    "bulkOperationRunMutation": {
      "bulkOperation": null,
      "userErrors": [
        {
          "code": "BULK_MUTATION_USER_ERROR_CODE",
          "message": "Unexpected error - https://shopify-bulk-update.s3.amazonaws.com/uuid/product-variants.jsonl not valid for shop 26304872500, bucket bulk/",
          "field": null
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 10,
      "actualQueryCost": 10,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 990,
        "restoreRate": 50
      }
    }
  }
}

 

This error message doesn't have any documentation. Is there some place where I can get a better understanding of this error? Any idea what is causing this error?

 

Thank you.

 

 

Reply 1 (1)
GrahamS
Shopify Staff
Shopify Staff
193 35 48

Hello @ammark ,

If you're still working through this issue, I believe the underlying cause is this:

stagedUploadPath: "https://shopify-bulk-update.s3.amazonaws.com/uuid/product-variants.jsonl"

 

The field generally expects the info you would've been provided as a key value during the stagedUploadsCreate process, which should look something like:

"value": "tmp/21759409/bulk/89e620e1-0252-43b0-8f3b-3b7075ba4a23/bulk_op_vars"

which leads to:

stagedUploadPath: "tmp/21759409/bulk/89e620e1-0252-43b0-8f3b-3b7075ba4a23/bulk_op_vars"

The URL you are currently providing is the generic bucket URL rather than the portion of it that is reserved for your process.

Let me know if this helps!

Best,

Graham

Graham S | API Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog