Title: Reading using open api fails with 416 error code in google-resumable-media · Issue #399 · googleapis/python-storage · GitHub
Open Graph Title: Reading using open api fails with 416 error code in google-resumable-media · Issue #399 · googleapis/python-storage
X Title: Reading using open api fails with 416 error code in google-resumable-media · Issue #399 · googleapis/python-storage
Description: OS type and version: Ubuntu Python version: 3.7.5 pip version: 9.0.1 google-cloud-storage version: 1.37.0 google-resumable-media version: 1.2.0 While trying to copy a gcs file using blob.open method to read and write, it fails at the las...
Open Graph Description: OS type and version: Ubuntu Python version: 3.7.5 pip version: 9.0.1 google-cloud-storage version: 1.37.0 google-resumable-media version: 1.2.0 While trying to copy a gcs file using blob.open metho...
X Description: OS type and version: Ubuntu Python version: 3.7.5 pip version: 9.0.1 google-cloud-storage version: 1.37.0 google-resumable-media version: 1.2.0 While trying to copy a gcs file using blob.open metho...
Opengraph URL: https://github.com/googleapis/python-storage/issues/399
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Reading using open api fails with 416 error code in google-resumable-media","articleBody":" - OS type and version: Ubuntu\r\n - Python version: 3.7.5\r\n - pip version: 9.0.1\r\n - `google-cloud-storage` version: 1.37.0\r\n - `google-resumable-media` version: 1.2.0\r\n\r\nWhile trying to copy a gcs file using blob.open method to read and write, it fails at the last read step with the following error:\r\n```\r\ngoogle.resumable_media.common.InvalidResponse: ('Request failed with status code', 416, 'Expected one of', \u003cHTTP\r\nStatus.OK: 200\u003e, \u003cHTTPStatus.PARTIAL_CONTENT: 206\u003e)\r\n```\r\n\r\n#### Code example\r\n\r\nIn the snippet below i am using shutil.copyfileobj, but same error happens if I i loop and call read with a chunk size.\r\n\r\n```python\r\nimport shutil\r\n\r\nfrom google.cloud import storage\r\n\r\nclient = storage.Client()\r\nbucket: storage.Bucket = client.bucket(\"gcp-public-data-landsat\")\r\nblob = bucket.get_blob(\"index.csv.gz\")\r\nsrc = blob.open(\"rb\", chunk_size=40 * 1024 * 1024)\r\ndest = open(\"index.csv.gz\", \"wb\")\r\nshutil.copyfileobj(src, dest, 40 * 1024 * 1024)\r\n```\r\n\r\n#### Stack trace\r\n```\r\nOriginal exception was:\r\nTraceback (most recent call last):\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/client.py\", line 728, in downloa\r\nd_blob_to_file\r\n checksum=checksum,\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/blob.py\", line 961, in _do_downl\r\noad\r\n response = download.consume(transport, timeout=timeout)\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/resumable_media/requests/download.py\", line 16\r\n8, in consume\r\n self._process_response(result)\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/resumable_media/_download.py\", line 186, in _p\r\nrocess_response\r\n response, _ACCEPTABLE_STATUS_CODES, self._get_status_code\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/resumable_media/_helpers.py\", line 104, in req\r\nuire_status_code\r\n *status_codes\r\ngoogle.resumable_media.common.InvalidResponse: ('Request failed with status code', 416, 'Expected one of', \u003cHTTP\r\nStatus.OK: 200\u003e, \u003cHTTPStatus.PARTIAL_CONTENT: 206\u003e)\r\nDuring handling of the above exception, another exception occurred:\r\nTraceback (most recent call last):\r\n File \"storage-test.py\", line 10, in \u003cmodule\u003e\r\n shutil.copyfileobj(src, dest, 40 * 1024 * 1024)\r\n File \"/usr/lib/python3.7/shutil.py\", line 79, in copyfileobj\r\n buf = fsrc.read(length)\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/fileio.py\", line 97, in read\r\n start=fetch_start, end=fetch_end, **self._download_kwargs\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/blob.py\", line 1307, in download\r\n_as_bytes\r\n checksum=checksum,\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/client.py\", line 731, in downloa\r\nd_blob_to_file\r\n _raise_from_invalid_response(exc)\r\n File \"/home/amardeeps/.local/lib/python3.7/site-packages/google/cloud/storage/blob.py\", line 4061, in _raise_f\r\nrom_invalid_response\r\n raise exceptions.from_http_status(response.status_code, message, response=response)\r\ngoogle.api_core.exceptions.RequestRangeNotSatisfiable: 416 GET https://storage.googleapis.com/download/storage/v\r\n1/b/gcp-public-data-landsat/o/index.csv.gz?generation=1616911592995216\u0026alt=media: Request range not satisfiable:\r\n ('Request failed with status code', 416, 'Expected one of', \u003cHTTPStatus.OK: 200\u003e, \u003cHTTPStatus.PARTIAL_CONTENT: \r\n206\u003e)\r\n```\r\n\r\n","author":{"url":"https://github.com/amardeep","@type":"Person","name":"amardeep"},"datePublished":"2021-03-28T06:56:41.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/399/python-storage/issues/399"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:dbfb6333-5696-27b4-ab95-18fd006600f4 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B6A6:90895:142C047:1B7B7A0:6A4D73F5 |
| html-safe-nonce | 5abbeb648ce5df2d85693e8161a0949224fb1c48498da7ef83d249e3eaf78c9d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNkE2OjkwODk1OjE0MkMwNDc6MUI3QjdBMDo2QTRENzNGNSIsInZpc2l0b3JfaWQiOiI4ODgyMzExNzUyMjY5NTI2MDA1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 96a32b4605f78aec2b52638b33a190f5e8def3295610cd938fa1ee7f13e96fb2 |
| hovercard-subject-tag | issue:842678015 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/python-storage/399/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6c033eb812885fb0564d8549cc81d7802896ce1d0996bfc2a9380e92e5f8e71d/googleapis/python-storage/issues/399 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6c033eb812885fb0564d8549cc81d7802896ce1d0996bfc2a9380e92e5f8e71d/googleapis/python-storage/issues/399 |
| og:image:alt | OS type and version: Ubuntu Python version: 3.7.5 pip version: 9.0.1 google-cloud-storage version: 1.37.0 google-resumable-media version: 1.2.0 While trying to copy a gcs file using blob.open metho... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | amardeep |
| hostname | github.com |
| expected-hostname | github.com |
| None | c78260c7b3f4ac4b0356c8208537f05406a3a2d46a9ec3f735b372dcc519c39e |
| turbo-cache-control | no-preview |
| go-import | github.com/googleapis/python-storage git https://github.com/googleapis/python-storage.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 226992639 |
| octolytics-dimension-repository_nwo | googleapis/python-storage |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 226992639 |
| octolytics-dimension-repository_network_root_nwo | googleapis/python-storage |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 399fff412f48461d435721c009efc17ea44be72f |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width