Azure / azure-sdk-for-python

This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.
MIT License
4.58k stars 2.8k forks source link

azure.core.exceptions.DeserializationError: Cell could not be processed #37868

Open heiko86 opened 4 days ago

heiko86 commented 4 days ago

Describe the bug When running the code the error message mentioned above in the title appears. The Code:

import os
from azure.core.credentials import AzureKeyCredential
from azure.maps.route import MapsRouteClient

origins = [[11.4544701, 48.7779473]]
destinations = [[11.9667977, 48.9821216]]

def distance_matrix(origins, destinations):
    credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))

    route_client = MapsRouteClient(
        credential=credential,
    )

    request_obj = {
        "origins": {
            "type": "MultiPoint",
            "coordinates": origins
        },
        "destinations": {
            "type": "MultiPoint",
            "coordinates": destinations
        }
    }

    result = route_client.get_route_matrix(query=request_obj, use_traffic_data=False, travel_mode="truck", route_type="fastest")
    matrix = []
    for i in result.matrix:
        row = []
        for j in i:
            entry = j.as_dict()
            row.append({
                "length_in_meters": entry["response"]["summary"]["length_in_meters"],
                "travel_time_in_seconds": entry["response"]["summary"]["travel_time_in_seconds"],
            })
        matrix.append(row)
    return matrix

matrix = distance_matrix(origins, destinations)
print(matrix)

Run the code above and the following error occurs:


Traceback (most recent call last):
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1434, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1181, in rest_key_extractor
    return working_data.get(key)
           ^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1609, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in deserialize_iter
    return [self.deserialize_data(a, iter_type) for a in attr]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in <listcomp>
    return [self.deserialize_data(a, iter_type) for a in attr]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1445, in _deserialize
    value = self.deserialize_data(raw_value, attr_desc["type"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1449, in _deserialize
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1434, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1181, in rest_key_extractor
    return working_data.get(key)
           ^^^^^^^^^^^^^^^^
azure.core.exceptions.DeserializationError: (", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1609, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in deserialize_iter
    return [self.deserialize_data(a, iter_type) for a in attr]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in <listcomp>
    return [self.deserialize_data(a, iter_type) for a in attr]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1620, in deserialize_data
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1609, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in deserialize_iter
    return [self.deserialize_data(a, iter_type) for a in attr]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in <listcomp>
    return [self.deserialize_data(a, iter_type) for a in attr]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1445, in _deserialize
    value = self.deserialize_data(raw_value, attr_desc["type"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1449, in _deserialize
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1434, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1181, in rest_key_extractor
    return working_data.get(key)
           ^^^^^^^^^^^^^^^^
azure.core.exceptions.DeserializationError: (', DeserializationError: (", AttributeError: \'str\' object has no attribute \'get\'", \'Unable to deserialize to object: type\', AttributeError("\'str\' object has no attribute \'get\'"))', "Unable to deserialize response data. Data: [{'statusCode': 400, 'response': 'Cell could not be processed', 'detailedError': {'message': '', 'code': 'NO_ROUTE_FOUND'}}], [RouteMatrix]", DeserializationError(", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'")))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/user/gits/project/azure_test.py", line 39, in <module>
    matrix = distance_matrix(origins, destinations)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/gits/project/azure_test.py", line 26, in distance_matrix
    result = route_client.get_route_matrix(query=request_obj, use_traffic_data=False, travel_mode="truck", route_type="fastest")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/tracing/decorator.py", line 94, in wrapper_use_tracer
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_route_client.py", line 682, in get_route_matrix
    return self._route_client.request_route_matrix_sync(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/tracing/decorator.py", line 94, in wrapper_use_tracer
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/operations/_operations.py", line 2810, in request_route_matrix_sync
    deserialized = self._deserialize("RouteMatrixResult", pipeline_response)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1379, in __call__
    return self._deserialize(target_obj, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1445, in _deserialize
    value = self.deserialize_data(raw_value, attr_desc["type"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1620, in deserialize_data
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1609, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in deserialize_iter
    return [self.deserialize_data(a, iter_type) for a in attr]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in <listcomp>
    return [self.deserialize_data(a, iter_type) for a in attr]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1620, in deserialize_data
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1609, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in deserialize_iter
    return [self.deserialize_data(a, iter_type) for a in attr]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1637, in <listcomp>
    return [self.deserialize_data(a, iter_type) for a in attr]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1445, in _deserialize
    value = self.deserialize_data(raw_value, attr_desc["type"])
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1622, in deserialize_data
    return self._deserialize(obj_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1449, in _deserialize
    raise_with_traceback(DeserializationError, msg, err)
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/core/exceptions.py", line 100, in raise_with_traceback
    raise error.with_traceback(exc_traceback)  # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1434, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/.pyenv/versions/project/lib/python3.11/site-packages/azure/maps/route/_generated/_serialization.py", line 1181, in rest_key_extractor
    return working_data.get(key)
           ^^^^^^^^^^^^^^^^
azure.core.exceptions.DeserializationError: (', DeserializationError: (\', DeserializationError: (", AttributeError: \\\'str\\\' object has no attribute \\\'get\\\'", \\\'Unable to deserialize to object: type\\\', AttributeError("\\\'str\\\' object has no attribute \\\'get\\\'"))\', "Unable to deserialize response data. Data: [{\'statusCode\': 400, \'response\': \'Cell could not be processed\', \'detailedError\': {\'message\': \'\', \'code\': \'NO_ROUTE_FOUND\'}}], [RouteMatrix]", DeserializationError(", AttributeError: \'str\' object has no attribute \'get\'", \'Unable to deserialize to object: type\', AttributeError("\'str\' object has no attribute \'get\'")))', "Unable to deserialize response data. Data: [[{'statusCode': 400, 'response': 'Cell could not be processed', 'detailedError': {'message': '', 'code': 'NO_ROUTE_FOUND'}}]], [[RouteMatrix]]", DeserializationError(', DeserializationError: (", AttributeError: \'str\' object has no attribute \'get\'", \'Unable to deserialize to object: type\', AttributeError("\'str\' object has no attribute \'get\'"))', "Unable to deserialize response data. Data: [{'statusCode': 400, 'response': 'Cell could not be processed', 'detailedError': {'message': '', 'code': 'NO_ROUTE_FOUND'}}], [RouteMatrix]", DeserializationError(", AttributeError: 'str' object has no attribute 'get'", 'Unable to deserialize to object: type', AttributeError("'str' object has no attribute 'get'"))))

Process finished with exit code 1

If you replace the coordinates with another coordinate the code works. We've debugged the code and instead of a dict we receive the following string:

Cell could not be processed
github-actions[bot] commented 2 days ago

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @dubiety @Lakicar95.