I can't solve the python error, so please let me know.

NishimuraChinatsu-9854 756 Reputation points
2022-08-02T08:45:01.877+00:00

227195-image.png

I am using pyhon in synapse notebook.
I'm trying to convert each of the three sheets in one macro-enabled excel file to a csv file.
However, I have also granted contributor and blob permissions, but it doesn't work. I would like to know how to solve this.

error message

---------------------------------------------------------------------------

HttpResponseError Traceback (most recent call last)
~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/aio/_list_blobs_helper.py in _get_next_cb(self, continuation_token)
70 try:
---> 71 return await self._command(
72 prefix=self.prefix,

~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/_generated/aio/operations/_container_operations.py in list_blob_hierarchy_segment(self, delimiter, prefix, marker, maxresults, include, timeout, request_id_parameter, **kwargs)
1557 error = self._deserialize(_models.StorageError, response)
-> 1558 raise HttpResponseError(response=response, model=error)
1559

HttpResponseError: Operation returned an invalid status 'This request is not authorized to perform this operation.'
Content: <?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationFailure</Code><Message>This request is not authorized to perform this operation.
RequestId:a47a70fb-501e-00c0-3148-a60032000000
Time:2022-08-02T08:15:59.8037930Z</Message></Error>

During handling of the above exception, another exception occurred:

HttpResponseError Traceback (most recent call last)
<ipython-input-8-569e8557> in <module>
1 import pandas as pd
2 excel_file = 'abfss://workspaceXXXXXXXsynwsbx.dfs.core.windows.net/XXXXXX/raw/XXXXXX_0703-0709.xlsm'
----> 3 all_sheets = pd.read_excel(excel_file,sheet_name= ['店マスタ','商品マスタ','納品データ' ])
4 sheets = all_sheets.keys()
5

~/cluster-env/env/lib/python3.8/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs)
297 )
298 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
--> 299 return func(*args, **kwargs)
300
301 return wrapper

~/cluster-env/env/lib/python3.8/site-packages/pandas/io/excel/_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, storage_options)
334 if not isinstance(io, ExcelFile):
335 should_close = True
--> 336 io = ExcelFile(io, storage_options=storage_options, engine=engine)
337 elif engine and engine != io.engine:
338 raise ValueError(

~/cluster-env/env/lib/python3.8/site-packages/pandas/io/excel/_base.py in init(self, path_or_buffer, engine, storage_options)
1069 ext = "xls"
1070 else:
-> 1071 ext = inspect_excel_format(
1072 content=path_or_buffer, storage_options=storage_options
1073 )

~/cluster-env/env/lib/python3.8/site-packages/pandas/io/excel/_base.py in inspect_excel_format(path, content, storage_options)
947 assert content_or_path is not None
948
--> 949 with get_handle(
950 content_or_path, "rb", storage_options=storage_options, is_text=False
951 ) as handle:

~/cluster-env/env/lib/python3.8/site-packages/pandas/io/common.py in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
556
557 # open URLs
--> 558 ioargs = _get_filepath_or_buffer(
559 path_or_buf,
560 encoding=encoding,

~/cluster-env/env/lib/python3.8/site-packages/pandas/io/common.py in _get_filepath_or_buffer(filepath_or_buffer, encoding, compression, mode, storage_options)
331
332 try:
--> 333 file_obj = fsspec.open(
334 filepath_or_buffer, mode=fsspec_mode, **(storage_options or {})
335 ).open()

~/cluster-env/env/lib/python3.8/site-packages/fsspec/core.py in open(self)
133 been deleted; but a with-context is better style.
134 """
--> 135 out = self.enter()
136 closer = out.close
137 fobjects = self.fobjects.copy()[:-1]

~/cluster-env/env/lib/python3.8/site-packages/fsspec/core.py in enter(self)
100 mode = self.mode.replace("t", "").replace("b", "") + "b"
101
--> 102 f = self.fs.open(self.path, mode=mode)
103
104 self.fobjects = [f]

~/cluster-env/env/lib/python3.8/site-packages/fsspec_wrapper/core.py in hooked(*args, **kwargs)
86 super().do_connect()
87 def hooked(*args, **kwargs):
---> 88 return orig_attr(*args, **kwargs)
89 return hooked
90 else:

~/cluster-env/env/lib/python3.8/site-packages/fsspec/spec.py in open(self, path, mode, block_size, cache_options, **kwargs)
960 else:
961 ac = kwargs.pop("autocommit", not self._intrans)
--> 962 f = self._open(
963 path,
964 mode=mode,

~/cluster-env/env/lib/python3.8/site-packages/adlfs/spec.py in _open(self, path, mode, block_size, autocommit, cache_options, cache_type, metadata, **kwargs)
1605 """
1606 logger.debug(f"_open: {path}")
-> 1607 return AzureBlobFile(
1608 fs=self,
1609 path=path,

~/cluster-env/env/lib/python3.8/site-packages/adlfs/spec.py in init(self, fs, path, mode, block_size, autocommit, cache_type, cache_options, metadata, **kwargs)
1720 if self.mode == "rb":
1721 if not hasattr(self, "details"):
-> 1722 self.details = self.fs.info(self.path)
1723 self.size = self.details["size"]
1724 self.cache = caches[cache_type](

~/cluster-env/env/lib/python3.8/site-packages/fsspec_wrapper/core.py in hooked(*args, **kwargs)
86 super().do_connect()
87 def hooked(*args, **kwargs):
---> 88 return orig_attr(*args, **kwargs)
89 return hooked
90 else:

~/cluster-env/env/lib/python3.8/site-packages/adlfs/spec.py in info(self, path, refresh, **kwargs)
573 fetch_from_azure = True
574 if fetch_from_azure:
--> 575 return sync(self.loop, self._info, path, refresh)
576 return super().info(path)
577

~/cluster-env/env/lib/python3.8/site-packages/fsspec/asyn.py in sync(loop, func, timeout, *args, **kwargs)
66 raise FSTimeoutError
67 if isinstance(result[0], BaseException):
---> 68 raise result[0]
69 return result[0]
70

~/cluster-env/env/lib/python3.8/site-packages/fsspec/asyn.py in _runner(event, coro, result, timeout)
22 coro = asyncio.wait_for(coro, timeout=timeout)
23 try:
---> 24 result[0] = await coro
25 except Exception as ex:
26 result[0] = ex

~/cluster-env/env/lib/python3.8/site-packages/adlfs/spec.py in _info(self, path, refresh, **kwargs)
594 invalidate_cache = False
595 path = self._strip_protocol(path)
--> 596 out = await self._ls(
597 self._parent(path), invalidate_cache=invalidate_cache, **kwargs
598 )

~/cluster-env/env/lib/python3.8/site-packages/adlfs/spec.py in _ls(self, path, invalidate_cache, delimiter, return_glob, **kwargs)
780 outblobs = []
781 try:
--> 782 async for next_blob in blobs:
783 if depth in [0, 1] and path == "":
784 outblobs.append(next_blob)

~/cluster-env/env/lib/python3.8/site-packages/azure/core/async_paging.py in anext(self)
152 if self._page_iterator is None:
153 self._page_iterator = self.by_page()
--> 154 return await self.anext()
155 if self._page is None:
156 # Let it raise StopAsyncIteration

~/cluster-env/env/lib/python3.8/site-packages/azure/core/async_paging.py in anext(self)
155 if self._page is None:
156 # Let it raise StopAsyncIteration
--> 157 self._page = await self._page_iterator.anext()
158 return await self.anext()
159 try:

~/cluster-env/env/lib/python3.8/site-packages/azure/core/async_paging.py in anext(self)
97 raise StopAsyncIteration("End of paging")
98 try:
---> 99 self._response = await self._get_next(self.continuation_token)
100 except AzureError as error:
101 if not error.continuation_token:

~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/aio/_list_blobs_helper.py in _get_next_cb(self, continuation_token)
76 use_location=self.location_mode)
77 except HttpResponseError as error:
---> 78 process_storage_error(error)
79
80 async def _extract_data_cb(self, get_next_return):

~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/_shared/response_handlers.py in process_storage_error(storage_error)
148 error.error_code = error_code
149 error.additional_info = additional_data
--> 150 error.raise_with_traceback()
151
152

~/cluster-env/env/lib/python3.8/site-packages/azure/core/exceptions.py in raise_with_traceback(self)
245 def raise_with_traceback(self):
246 try:
--> 247 raise super(AzureError, self).with_traceback(self.exc_traceback)
248 except AttributeError:
249 self.traceback = self.exc_traceback

~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/aio/_list_blobs_helper.py in _get_next_cb(self, continuation_token)
69 async def _get_next_cb(self, continuation_token):
70 try:
---> 71 return await self._command(
72 prefix=self.prefix,
73 marker=continuation_token or None,

~/cluster-env/env/lib/python3.8/site-packages/azure/storage/blob/_generated/aio/operations/_container_operations.py in list_blob_hierarchy_segment(self, delimiter, prefix, marker, maxresults, include, timeout, request_id_parameter, **kwargs)
1556 map_error(status_code=response.status_code, response=response, error_map=error_map)
1557 error = self._deserialize(_models.StorageError, response)
-> 1558 raise HttpResponseError(response=response, model=error)
1559
1560 response_headers = {}

HttpResponseError: This request is not authorized to perform this operation.
RequestId:a47a70fb-501e-00c0-3148-a60032000000
Time:2022-08-02T08:15:59.8037930Z
ErrorCode:AuthorizationFailure
Error:None
Content: <?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationFailure</Code><Message>This request is not authorized to perform this operation.
RequestId:a47a70fb-501e-00c0-3148-a60032000000
Time:2022-08-02T08:15:59.8037930Z</Message></Error>

※XXXX is a personal information.

Azure Data Lake Storage
Azure Data Lake Storage
An Azure service that provides an enterprise-wide hyper-scale repository for big data analytic workloads and is integrated with Azure Blob Storage.
1,397 questions
Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
4,558 questions
{count} votes