Azure / azure-storage-python

Microsoft Azure Storage Library for Python
https://azure-storage.readthedocs.io
MIT License
338 stars 240 forks source link

AzureHttpError: The request body is too large and exceeds the maximum permissible limit. #672

Open arafay993 opened 4 years ago

arafay993 commented 4 years ago

Which service(blob, file, queue) does this issue concern?

blob

Which version of the SDK was used? Please provide the output of pip freeze.

django-storages==1.4.1 azure-storage==0.20.3

What problem was encountered?

Can not able to upload file greater than 64 MB. Following is the information:

Response code

<?xml version="1.0" encoding="utf-8"?><Error><Code>RequestBodyTooLarge</Code><Message>The request body is too large and exceeds the maximum permissible limit.
RequestId:c0539b4a-701e-0029-25e3-4d6b89000000
Time:2020-06-29T07:07:41.3774372Z</Message><MaxLimit>67108864</MaxLimit></Error>

Line which triggers error

default_storage.save(path, File(scorm_file))

Complete Stack trace

==> /edx/var/log/supervisor/cms-stderr.log <==
2020-06-29 03:07:43,579 ERROR 8851 [root] signals.py:21 - Uncaught exception from None
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 185, in inner
    return func(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/component.py", line 460, in component_handler
    resp = handler_descriptor.handle(handler, req, suffix)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/mixins.py", line 89, in handle
    return self.runtime.handle(self, handler_name, request, suffix)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1365, in handle
    return super(MetricsMixin, self).handle(block, handler_name, request, suffix=suffix)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/runtime.py", line 1037, in handle
    results = handler(request, suffix)
  File "/edx/app/edxapp/venvs/edxapp/src/edx-xblock-scorm/scormxblock/scormxblock.py", line 154, in studio_submit
    default_storage.save(path, File(scorm_file))
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/files/storage.py", line 54, in save
    return self._save(name, content)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/storages/backends/azure_storage.py", line 96, in _save
    x_ms_blob_content_type=content_type)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/azure/storage/blob/blobservice.py", line 883, in put_blob
    self._perform_request(request)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/azure/storage/storageclient.py", line 178, in _perform_request
    _storage_error_handler(ex)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/azure/storage/_serialization.py", line 25, in _storage_error_handler
    return _general_error_handler(http_error)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/azure/storage/_common_error.py", line 82, in _general_error_handler
    raise AzureHttpError(message, http_error.status)

Have you found a mitigation/solution?

No, still in search for a possible solution. I can not update azure-storage library, because my django-storage version depeneds on azure-storage version.