集成了蓝铜矿的 Visual Studio 2022 (v3.14.1) 在创建本地 blob 容器时给出错误消息 InvalidHeaderValue

2023-12-25

这是抛出的错误:

Headers:
Server: Azurite-Blob/3.14.1
x-ms-error-code: InvalidHeaderValue
x-ms-request-id: a3aca2f1-c0af-4af5-a54c-d7e24c188ba0
Date: Mon, 21 Mar 2022 13:22:04 GMT
Connection: keep-alive
Keep-Alive: REDACTED
Transfer-Encoding: chunked
Content-Type: application/xml

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Error>
    <Code>InvalidHeaderValue</Code>
     <Message>The value for one of the HTTP headers is not in the correct format.
    RequestId:a3aca2f1-c0af-4af5-a54c-d7e24c188ba0
    Time:2022-03-21T13:22:04.189Z</Message>
    <HeaderName>x-ms-version</HeaderName>
    <HeaderValue>2021-04-10</HeaderValue>
    </Error>

如果我在 Github 上查看:https://github.com/Azure/Azurite.并阅读以下描述:

API版本兼容策略

如果传入请求的 API 版本高于 Azurite,Azurite 将返回 x-ms-version 的 InvalidHeaderValue 错误(HTTP 状态代码 400 - 错误请求)。

什么可以是正确的,因为在 api 错误消息中它声称有一个 headervalue : HeaderValue: 2021-04-10 (Azurite 的最新 api 版本 3.16.0 是什么,请参阅 github)。 如果您再次查看标题中的错误,则为 azurite(server) AZurite-blob/3.14.1 。随 VS2022 一起提供的版本。因此,这意味着标头值来自最新的 azurite 版本,但使用的 azurite 服务器是版本 3.14.1

我的问题是如何将本地蓝铜版本升级到 3.16.0 或将某些使用 v3.16.0 的进程降级到 3.14.1

我希望有人能在这里帮助我。提前致谢。


每个版本的 SDK 以及 Azurite 都针对特定的 REST API 版本。您收到此错误的原因是,安装的 Azurite 版本针对的 REST API 版本比您正在使用的 SDK 版本更旧。

两种可能的解决方案:

  1. 升级蓝铜版本:如果您通过npm安装了Azurite,只需执行以下命令即可升级到Azurite的最新版本。
npm update -g azurite
  1. 降级SDK版本:您可以将SDK版本从12.11.0降级到12.10.0。请检查变更日志 https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs/CHANGELOG.md在降级之前确保您的代码没有使用特定于最新版本的任何内容。您需要卸载版本 12.11.0,然后安装 12.10.0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集成了蓝铜矿的 Visual Studio 2022 (v3.14.1) 在创建本地 blob 容器时给出错误消息 InvalidHeaderValue 的相关文章

随机推荐