错误:指定的资源名称包含无效字符。错误代码:无效资源名称
Posted
技术标签:
【中文标题】错误:指定的资源名称包含无效字符。错误代码:无效资源名称【英文标题】:ERROR: The specifed resource name contains invalid characters. ErrorCode: InvalidResourceName 【发布时间】:2020-02-26 18:55:05 【问题描述】:2019-10-31T10:28:17.4678189Z<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidResourceName</Code><Message>The specifed resource name contains invalid characters.
2019-10-31T10:28:17.4678695Z 请求 ID:
2019-10-31T10:28:17.4679207Z Time:2019-10-31T10:28:17.4598301Z</Message></Error>
我正在尝试使用 azure DevOps 将我的静态网站部署到 azure 中的 blob 存储,但出现此错误。在我的管道中,我使用 grunt build 进行构建,并将其归档为 zip,然后发布到 azure 管道,然后在发布中,我正在提取文件,并尝试使用 azure CLI 任务上传这些文件。
我正在使用以下命令
az storage blob upload-batch --account-name something --account-key something --destination ‘$web’ --source ./
我的容器名称是 $web
【问题讨论】:
提供更多信息并描述您的错误 可能您的 blob\container 名称包含大写字母或短划线或类似内容,您只能在 storage\container\blob 名称中使用 [a-z0-9] 我在一个天蓝色的存储帐户中启用了静态网站,之后,容器中自动创建了 $web 容器。我只在 CLI 命令中提供 '$web' 目的地,我已经检查过了,我没有使用 _ 或大写字符 从 Logic APP 读取 Azure 文件存储或文件容器时遇到同样的错误。如果有人对此有解决方案,请告诉我。 【参考方案1】:我通过删除容器名称周围的撇号解决了这个问题:
az storage blob upload-batch --account-name something --account-key something --destination $web --source ./
【讨论】:
谢谢!我遇到了完全相同的问题,花了 4 个小时,如果不是这个答案,可能会多花 4 个小时:)【参考方案2】:允许的字符是 a-z 0-9 和 单个中缀连字符
[a-z0-9\-]
https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
【讨论】:
【参考方案3】:这可能无法解决您的问题,但会为其他人解决相关问题:
如果目标只是在生成 SAS 令牌后使用链接从 Azure 文件存储下载文件,如下所示:Azure File Storage URL in browser showing InvalidHeaderValue
如果你在生成的链接中去掉文件名后面的斜线,文件就会下载!
【讨论】:
以上是关于错误:指定的资源名称包含无效字符。错误代码:无效资源名称的主要内容,如果未能解决你的问题,请参考以下文章
第 1 行第 1 列 (ID) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)