bulkOperationRunMutation gives not valid for shop

bulkOperationRunMutation gives not valid for shop

ammark
Shopify Partner
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 (Retired)
193 37 55

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

To learn more visit the Shopify Help Center or the Community Blog.