- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建 blob 存储以将文件从本地路径加载到云。使用我在门户上创建的存储帐户时,出现错误:Microsoft.Azure.Storage.StorageException:指定的资源名称包含无效字符
。下面是我想要实现的目标的代码。它缺少什么?请指教
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.Devices.Client;
using Microsoft.Azure.Storage.Blob;
using Microsoft.Azure.Storage;
using System.IO;
namespace BlobStorageApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Azure Blob Storage - Net");
Console.WriteLine();
ProcessAsync().GetAwaiter().GetResult();
}
private static async Task ProcessAsync()
{
CloudStorageAccount storageAccount = null;
CloudBlobContainer cloudBlobContainer = null;
string sourceFile = null;
string destinationFile = null;
string storageConnectionString = "DefaultEndpointsProtocol=https;" +
"AccountName=gcobanistorage;" +
"AccountKey=****;" +
"EndpointSuffix=core.windows.net";
if (CloudStorageAccount.TryParse(storageConnectionString, out storageAccount))
{
try
{
CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
cloudBlobContainer = cloudBlobClient.GetContainerReference("Test" + Guid.NewGuid().ToString());
await cloudBlobContainer.CreateAsync();
Console.WriteLine("Created container '{0}'", cloudBlobContainer.Name);
Console.WriteLine();
BlobContainerPermissions permissions = new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
};
await cloudBlobContainer.SetPermissionsAsync(permissions);
string localPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string localFileName = "Test.txt" + Guid.NewGuid().ToString() + "test_.txt";
sourceFile = Path.Combine(localPath, localFileName);
File.WriteAllText(sourceFile,"Good day, how are you!!?");
Console.WriteLine("Temp file = {0}", sourceFile);
Console.WriteLine("Uploading to Blob storage as blob {0}", localFileName);
CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(localFileName);
await cloudBlockBlob.UploadFromFileAsync(sourceFile);
Console.WriteLine("Listing blobs in container.");
BlobContinuationToken blobContinuationToken = null;
do
{
var resultSegment = await cloudBlobContainer.ListBlobsSegmentedAsync(null, blobContinuationToken);
blobContinuationToken = resultSegment.ContinuationToken;
foreach (IListBlobItem item in resultSegment.Results) {
Console.WriteLine(item.Uri);
}
} while (blobContinuationToken != null);
Console.WriteLine();
destinationFile = sourceFile.Replace("test_eNtsa.txt", "Rest.txt");
Console.WriteLine("Downloading blob to {0}", destinationFile);
Console.WriteLine();
await cloudBlockBlob.DownloadToFileAsync(destinationFile, FileMode.Create);
}
catch(StorageException ex)
{
Console.WriteLine("Error returned from the service:{0}", ex.Message);
}
finally
{
Console.WriteLine("Press any key to delete the sample files and example container");
Console.ReadLine();
Console.WriteLine("Deleting the container and any blobs in contains");
if(cloudBlobContainer != null)
{
await cloudBlobContainer.DeleteIfExistsAsync();
}
Console.WriteLine("Deleting the local source file and local downloaded files");
Console.WriteLine();
File.Delete(sourceFile);
File.Delete(destinationFile);
}
}
else
{
Console.WriteLine("A connection string has not been defined in the system environment variables."
+ "Add a environment variable named 'storageconnectionstring' with your storage"
+ "connection string as a value");
}
}
}
}
嗨,团队,有没有 friend 可以帮助我,因为我遇到了这个异常?解决方案中缺少什么?存储帐户已在门户上创建,我正在使用门户中的连接字符串,容器也已创建。有什么我应该添加或修改的吗?导致此错误的原因可能是什么?我只是想了解它,也许我在“connectionString”上调用的名称无效?或者请向我提供一些关于此问题的想法,因为我在没有互联网帮助的情况下被这个问题困扰了近 1 天。反馈可能会受到高度赞赏和指导,谢谢,因为我期待着有关此问题的更多详细信息。
最佳答案
您的容器名称或连接字符串似乎错误。
A container name must be a valid DNS name, conforming to the following naming rules: Container names must start with a letter or number, and can contain only letters, numbers, and the dash (-) character. Every dash (-) character must be immediately preceded and followed by a letter or number; consecutive dashes are not permitted in container names. All letters in a container name must be lowercase. Container names must be from 3 through 63 characters long.
请参阅 Container naming convention
上的文档
关于c# - Microsoft.Azure.StorageException : The specified resource name contains invalid characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58265382/
我正在尝试将 4 个不同的图像上传到 firebase 存储,我的代码适用于单个图像,但是每当我尝试上传多个图像时,我都会得到 E/StorageException: StorageExceptio
我正在使用 Azure 函数,希望更深入地了解如何获取更详细的错误消息。 函数从队列获取输入,这意味着将有多个函数实例并行运行。该函数进行一些处理并希望通过使用 ICollector<> 输出到表存储
打开功能应用程序时,不知何故开始看到此错误,但应用程序正在运行。 Unable to retrieve diagnostics and error information for your funct
我正在使用 Azure 函数,希望更深入地了解如何获取更详细的错误消息。 函数从队列获取输入,这意味着将有多个函数实例并行运行。该函数进行一些处理并希望通过使用 ICollector<> 输出到表存储
打开功能应用程序时,不知何故开始看到此错误,但应用程序正在运行。 Unable to retrieve diagnostics and error information for your funct
我使用的是 NuGet 包 WindowsAzure.Storage 版本 4.2.1。 以下代码尝试从远程数据中心的存储容器下载 blob。 try { var blobRequestOpt
我们的应用程序执行多批TableBatchOperation。我们确保每个表批处理操作都有 100 或更少的表操作 仅对一个实体分区键进行表操作 大致如下: foreach (var
看起来我的 VS2013 有问题,因为这段代码: try { TableResult tblr = await cloudTable.ExecuteAsync(...); } catch (
我一直在寻找这个问题,但我没有在这里找到任何解决方案。我的问题是,当我将新项目发布到 firebase 存储时,一切正常,但是当我尝试下载它时,目录文件夹已成功创建,但文件未下载,因为它向我显示此错误
我在 Flutter 中使用 Firebase 存储。如果上传操作因任何原因失败(例如超过控制台中设置的大小限制),它会导致 StorageException。 我想做这样的事情: try { f
我的应用从 Firebase 存储中获取图像。如果不存在图像,我希望能够处理错误。但我似乎无法让它工作。 我试过用 try catch 包围。 我试过这个 Future getImage(int in
我想检查 Firebase 存储中是否存在文件,如果存在则更新其元数据。OnFailureListener 按预期工作,如下所示: storageRef.child("users/me/file.pn
我正在尝试将图像存储到 FireBase 数据库中,我非常确定所有代码在获取图像链接方面都工作正常,因为它不再像以前那样显示错误。然而现在,当我上传图像时出现了一个新问题。与存储异常有关,我猜测实际从
每隔 30 或 40 分钟,当从我们的 Azure 网站流式传输应用程序日志时,我就会看到以下异常,抱歉......Azure Web App :-) Application: Microsoft.W
语言:C# 框架:.NET 4.5 Nuget:WindowsAzure.Storage 版本 8.0.1 嗨。 我看到一个Microsoft.WindowsAzure.Storage.Storage
我在以下代码中遇到上述异常和错误,这意味着从独立存储中播放选定的 mp3 文件: using (var isf = IsolatedStorageFile.GetUserStoreForApplica
我使用 http://www.windowsazure.com/en-us/develop/net/common-tasks/continuous-delivery/ 中的 powershell 脚本
语言:C# 框架:.NET CORE 1.1.1 Nuget:WindowsAzure.Storage 版本 8.1.1 嗨, 我在 Azure 上使用队列存储。我有 4 个程序,每个程序每秒发出 1
我刚刚遇到它并且完全惊呆了: [#|2012-12-10T14:16:49.663+0100|WARNING|glassfish3.1.1|javax.enterprise.system.core.t
我一直在尝试将图像上传到新的 firebase 存储服务。它正在抛出 StorageException E/StorageException: StorageException has occurre
我是一名优秀的程序员,十分优秀!