gpt4 book ai didi

c# - 指定的资源名称长度不在允许的限制范围内 Azure Blob 存储

转载 作者:行者123 更新时间:2023-12-05 08:40:02 24 4
gpt4 key购买 nike

当我尝试将 blob 上传到我的 Azure 存储帐户 时,收到错误消息“指定的资源名称长度不在允许的限制内”。

enter image description here

下面是我的代码。

private async Task UploadToAzureBlobStorage(string path, string fileName) {
try {
if (CloudStorageAccount.TryParse(StorageConnectionString, out CloudStorageAccount cloudStorageAccount)) {
var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
var cloudBlobContainer = cloudBlobClient.GetContainerReference(path);
var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(fileName);
await cloudBlockBlob.UploadFromFileAsync(path);
}
else {
throw new CustomConfigurationException(CustomConstants.NoStorageConnectionStringSettings);
}
}
catch(Exception ex) {
throw new CustomConfigurationException($ "Error when uploading to blob: {ex.Message}");
}
}

还有其他人遇到过同样的问题吗?

最佳答案

有时错误消息可能会产生误导。当我调用 await cloudBlockBlob.UploadFromFileAsync(path); 时收到此错误,此问题背后的原因是,我向函数 cloudBlobClient.GetContainerReference(path );

enter image description here

发生这种情况是因为最近的开发发生了变化。我一直关注 GetBlockBlobReference 函数中的 fileName 参数,因为我认为问题出在 blob 名称上。

不幸的是我错了,真正的问题在于blob容器名称,其中包含一些特殊字符,所以我引入了一个新参数 Schedule 到现有函数,该参数的值可以是每日、每周、每月,这些是我在 Azure Blob 存储中配置的容器的名称。

private async Task UploadToAzureBlobStorage(string schedule, string path, string fileName) {
try {
if (CloudStorageAccount.TryParse(StorageConnectionString, out CloudStorageAccount cloudStorageAccount)) {
var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
var cloudBlobContainer = cloudBlobClient.GetContainerReference(schedule);
var cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(fileName);
await cloudBlockBlob.UploadFromFileAsync(path);
}
else {
throw new CustomConfigurationException(CustomConstants.NoStorageConnectionStringSettings);
}
}
catch(Exception ex) {
throw new CustomConfigurationException($ "Error when uploading to blob: {ex.Message}");
}
}

enter image description here

关于c# - 指定的资源名称长度不在允许的限制范围内 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57328134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com