我已经读到azure blob存储容器名称的长度必须最多为63个字符(请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/naming-and-referencing-containers--blobs--and-metadata),但在阅读本文之前,我正在测试比这更长的容器名称,因此尝试了更长的时间:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("YourKey");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(@"mystorage\A2345678901234567890B234567890C2345678901234567890D234567890E234567890F23456789G234567890\AA345678901234567890B234567890C2345678901234567890D234567890E234567890F23456789G234567890");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(@"blob.txt");
这似乎很好(注意大写字母,也应该是不允许的)。我还使用Microsoft Azure Storage Explorer(v0.8.9)打开使用C#创建的文件夹和文件,并在blob存储中创建更长的文件夹名(混合大小写)。
在现实生活中,我想让容器达到大约100个字符(复制一个Windows文件结构,有五层文件夹,子文件夹名达到20个字符。如果有必要,我可以强迫这些小写。我读到的大部分内容似乎表明blob存储比文件存储更好,除非处理遗留系统或需要SMB。基于这种推理,blob存储听起来是更好的选择,在测试时一切似乎都很好。然而,微软会突然强加小写字母和63个字符的限制吗?我还遗漏了什么吗?
因此,容器名称的最大长度可以为 63 个字符。代码中未出现任何错误的原因是,此限制是在服务器端强制执行的。当您使用以下代码创建 CloudBlobContainer
的实例时:
CloudBlobContainer container = blobClient.GetContainerReference(@"mystorage\A2345678901234567890B234567890C2345678901234567890D234567890E234567890F23456789G234567890\AA345678901234567890B234567890C2345678901234567890D234567890E234567890F23456789G234567890");
这发生在客户端。如果您尝试对此容器
对象执行任何服务器端操作(例如创建该容器),您将收到错误,因为您违反了此63个字符的限制。
您可以将容器视为Blob存储帐户中的顶级文件夹。打个比方,如果您将计算机上的C:\
视为存储帐户,那么容器可能是windows
。现在每个容器可以有零个或更多个blob,为了产生层次结构的错觉,您可以将blob命名为光标\aero_arrow.cur
。命名blob时,您可以有超过63个字符。但是,由于每个blob都可以通过URL(https://accountname.blob.core.windows.net/containername/blobname
)访问,因此最大长度受到URL中最大字符的限制,我认为该URL为1024个字符。
问题内容: 我想显示所有正在运行的容器的状态,因此可以像下面这样实现: docker stats $ {docker ps -q) 但列容器仅显示容器ID。我需要容器名称。例如: 码头工人统计lrlcms_web_1 那么,如何获得所有容器名称?只为: docker stats`所有容器的名称’ 例如: 码头工人统计lrlcms_db_1 lrlcms_redis_1 问题答案: 或者,使用普通的
这个命令给出了运行容器ID的列表: 是否有获取容器名称列表的命令?
问题内容: 从容器名称获取docker容器ID的命令是什么? 问题答案: 在Linux中: 或在OS X,Windows中: 您的容器名称在哪里。 如@llia Sidorenko所述,为避免产生误报,您可以使用正则表达式锚点,如下所示: 说明: 为了安静。仅输出ID 对所有人。即使您的容器未运行也能正常工作 用于过滤器。 容器名称必须以该字符串 开头 容器名称必须 结束 这个字符串
从容器名称中获取Docker容器id的命令是什么?
问题内容: 我将jquery,JSON和AJAX用于注释系统。我很好奇,可以通过JSON发送/存储的内容是否有大小限制?就像用户输入大量内容并通过JSON发送一样,是否存在某种最大限制? 也可以通过JSON发送任何类型的文本。例如,有时我允许用户使用html,这样可以吗? 问题答案: JSON与其他数据格式(如XML)相似- 如果您需要传输更多数据,则只需发送更多数据。JSON请求没有固有的大小限
问题内容: 我在这里遇到一种情况,试图充当两个API之间的网关。我需要做的是: 向APIa提出请求; 将XML响应解析(编组)为java对象; 对其进行很少的更改; 然后以XML(解组)形式向另一端(APIb)做出响应。 事实是,我使用同一对象来解析API响应并将响应发送到另一端。 正如评论所说:我收到但我需要发送 有没有一种方法可以完成此操作而不必创建另一个带有ResultCode的额外类? 提