首页 > 解决方案 > DeserializationError:无法反序列化内容类型:文本/纯文本

问题描述

我是 Azure 函数的新手,我创建了一个Timer TriggerAzure 函数来检索存储库列表,Azure Container Registry使用Azure Python SDK v3.6.

此代码在我的本地设置中正确执行,VS Code但是当我在 Azure 中部署并执行时出现DeserializationError: Cannot deserialize content-type: text/plain错误。

以下是我到目前为止尝试的摘要:

import azure.functions as func
from azure.containerregistry import ContainerRegistryClient
from azure.identity import DefaultAzureCredential

container_registry_client = ContainerRegistryClient(
    account_url,
    DefaultAzureCredential()
    # DefaultAzureCredential(logging_enable=True)
)

def main(mytimer: func.TimerRequest) -> None:
    
    logging.info("============================Start=================================")
    # Here I am able to print the container registry client which is not null, 
    # So I assume my azure function is able to connect with my ACR
    logging.info(dir(container_registry_client)) 
    # Nothing is getting printed here onwards, so I assume some issues here or in For loop
    repository_names = container_registry_client.list_repository_names()
    
    for repository_name in repository_names:
        logging.info("ACR Repository Names: " + str(repository_name))
    
    logging.info("============================End=================================")

完整的错误堆栈:

Ran into a deserialization error. Ignoring since this is failsafe deserialization Traceback (most recent call last): File "/home/site/wwwroot/.python_packages/lib/python3.6/site-packages/msrest/serialization.py", line 1501, in failsafe_deserialize return self(target_obj, data, content_type=content_type) File "/home/site/wwwroot/.python_packages/lib/python3.6/site-packages/msrest/serialization.py", line 1367, in __call__ data = self._unpack_content(response_data, content_type) File "/home/site/wwwroot/.python_packages/lib/python3.6/site-packages/msrest/serialization.py", line 1541, in _unpack_content raw_data.headers File "/home/site/wwwroot/.python_packages/lib/python3.6/site-packages/msrest/pipeline/universal.py", line 226, in deserialize_from_http_generics return cls.deserialize_from_text(body_bytes, content_type) File "/home/site/wwwroot/.python_packages/lib/python3.6/site-packages/msrest/pipeline/universal.py", line 203, in deserialize_from_text raise DeserializationError("Cannot deserialize content-type: {}".format(content_type)) msrest.exceptions.DeserializationError: Cannot deserialize content-type: text/plain

标签: pythonpython-3.xazureazure-devopsazure-functions

解决方案


推荐阅读