Tag: azure storage

Microsoft Azure App Service存储

我怀疑购买微软azure色应用程序服务来托管我的应用程序。 我已经测试了免费配置文件,我担心切换到基本配置文件。 那是我的问题。 我在azure网站上看过这个桌子,我的应用程序文件有10GB的磁盘空间。 当我继续价格计算器时,我看到了这一点 我的问题是:为什么在这里我看到10GB的临时存储空间? 我会随时丢失位于wwwroot文件夹中的应用程序文件吗?

如何跟踪乱序的单个对象,然后连续加入()连续的对象?

我首先要说的是比一起盲目加入byte[]要困难一些。 我的主要目标是优化当前将许多512字节页面上传到Web服务器(Azure页面Blob)的应用程序,并将其减少为4Megs或更少的单个大型上载。 有关原因的更多背景信息,请参阅此问题底部的链接。 简要回答原因:通过使用Azure稀疏文件,此优化将提高速度(更少的IO)并节省长期资金 现在详细说明: 该课程需要 接受数据并存储它(数据定义为alignment start , alignment stop和随附的有效负载。 在N个数据到达或发生event , ProcessData() 。 这意味着是时候根据边界组装数据了( blob1的停止值必须与blob1对齐) 连续数据实际上可能无序到达。 非连续数据定义为在调用processData()之前调用应用程序未发送它时。 此外,如果整个512字节范围==零,那么它将获得特殊处理,并被视为非连续。 我们正在处理byte []的类型,因此这里有效的列表可能很复杂。 我想避免不必要的副本和数组的扩展。 合理? (像泥,我希望不是) 到目前为止我最接近的是编写方法签名:(我知道很蹩脚) // This can’t be bigger than 4Mb, or smaller than 512 byte[] BigBlobToUpload = new byte[]; /// /// Collects consecutive data ranges that will be uploaded /// /// The […]

我们如何跟踪azure文件存储文件夹是否更新?

我有azure色的文件存储,里面有其他文件夹。 我想检查或跟踪该文件夹的上次更新时间? 我做了一个简单的控制台应用程序来获取该位置的所有文件 – // Get list of all files/directories on the file share CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings[“storageConnectionString”]); CloudFileClient fileClient = cloudStorageAccount.CreateCloudFileClient(); CloudFileShare fileShare = fileClient.GetShareReference(ConfigurationManager.AppSettings[“shareName”]); var sourceName = fileShare.GetRootDirectoryReference().GetDirectoryReference((ConfigurationManager.AppSettings[“sourceName”])); IEnumerable fileList = sourceName.ListFilesAndDirectories(); CloudFileDirectory destinationDir = fileShare.GetRootDirectoryReference().GetDirectoryReference((ConfigurationManager.AppSettings[“destinationName”])); foreach (IListFileItem listItem in fileList) { // gives me all file records } 我试着像这样得到它,但它是null 。 var test […]

对于T4模板,这是Azure Queue构造的一个好/可取的模式吗?

我正在构建一个T4模板,它将帮助人们以一致和简单的方式构建Azure队列。 我想让这个自我记录,并且有些一致。 首先我将队列名称放在文件的顶部,队列名称必须是小写的,所以我添加了ToLower() 公共构造函数使用内置的StorageClient API来访问连接字符串。 我已经看到了许多不同的方法,并希望得到几乎适用于所有情况的东西。 (想法?分享) 我不喜欢不需要的HTTP请求来检查队列是否已经创建,所以我做的是一个static bool 。 我没有实现Lock(monitorObject),因为我认为不需要。 而不是使用字符串并使用逗号解析(如大多数MSDN文档)我将对象传递到队列时序列化。 为了进一步优化,我使用JSON序列化器扩展方法来充分利用8k限制。 不确定编码是否有助于优化此function 添加了重试逻辑来处理队列中出现的某些情况(请参阅html链接) 问: “DataContext”是否适用于此类? 问:以我的方式命名队列行动名称是一种不好的做法吗? 您认为我应该做出哪些其他更改? public class AgentQueueDataContext { // Queue names must always be in lowercase // Is named like a const, but isn’t one because .ToLower won’t compile… static string AGENT_QUEUE_ACTION_NAME = “AgentQueueActions”.ToLower(); static bool QueuesWereCreated { get; set; […]

批量上传文件到Azure(C#)的最快方法

批量上传文件Azure Blob存储的最快方法是什么? 我尝试了两种方法, sync和async上传, async显然是最快的,但我想知道是否有更好的方法? 是否内置了对批量上传的支持? 我在文档中找不到任何内容,但可能会错过它。 这是我跑的测试: static void Main(string[] args) { int totalFiles = 10; //10, 50, 100 byte[] randomData = new byte[2097152]; //2mb for (int i = 0; i < randomData.Length; i++) { randomData[i] = 255; } CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]); var blobClient = cloudStorageAccount.CreateCloudBlobClient(); var container = blobClient.GetContainerReference("something"); container.CreateIfNotExists(); TimeSpan tsSync […]

从Windows Phone将图像上载到Azure blob存储。 没有创造

我使用Windows Azure在我的Windows Phone应用程序中存储图像。 相机拍摄照片,然后上传所选的照片流。 但它没有错误,但没有上传? var blobContainer = CloudStorageContext.Current.Resolver.CreateCloudBlobClient(); var container = blobContainer.GetContainerReference(“pics”); var blob = container.GetBlobReference(“picture.jpg”); blob.UploadFromStream(e.ChosenPhoto, response => { MessageBox.Show(blob.Uri.ToString()) }); 我不知道发生了什么。 解析器包含正确的用户,密钥和URL。 容器“pics”确实存在,但没有上传图像。 弹出的消息框中包含一个不存在的URL。 更新 – 这里似乎有一个类似的(几乎完全相同的)问题 – 在WP7中将照片流从相机上传到azure blob 。 但是大写容器名称在这里不是问题,所以解决方案没有解决这个问题

将多个文件上载到Azure Blob存储

对Windows Azure来说很新鲜。 我已经按照本教程: 教程 。 它完美地工作但是一个限制是,对于我想到的应用程序,需要能够相对快速地上传多个文件。 是否可以修改教程以支持多文件上传,例如,用户可以使用shift-click选择多个文件。 或者,如果有人知道任何好的教程详细说明上述内容? 任何帮助表示赞赏, 谢谢

以编程方式创建blob存储容器

我有一个要求,在创建公司时,我的storageaccount中创建了一个关联的blob存储容器,容器名称设置为传入的字符串变量。我尝试了以下操作: public void AddCompanyStorage(string subDomain) { //get the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse( System.Configuration.ConfigurationManager.AppSettings[“StorageConnectionString”].ToString()); //blob client now CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); //the container for this is companystyles CloudBlobContainer container = new CloudBlobContainer(“https://mystore.blob.core.windows.net/” + subDomain); } 然而,这并没有像我预期的那样创建容器,我是否以错误的方式进行此操作? 这可能吗? 干杯

从Azure blob存储中读取文件

我想从azure存储中读取一个PDF文件字节,因为我有一个文件路径。 https://hostedPath/pdf/1001_12_Jun_2012_18_39_05_594.pdf 那么可以通过直接传递其路径名来从blob存储中读取内容吗? 我也在使用c#。

使用共享访问密钥上载到Azure Blob存储

UPD:这是我实现的这个问题的解决方案 我正在尝试通过Azure.Storage库(不是REST API)上传到Azure blob存储,并通过共享访问密钥进行身份validation。 我已经看过这篇博文 ,但是自post以来API已经发生了变化,现在我无法得到相同的结果。 这是我有的: var blobClient = new CloudBlobClient(new Uri(blobWithSas.BaseUri), new StorageCredentials(blobWithSas.Sas)); // here I receive 404 error var blob = blobClient.GetBlobReferenceFromServer(new Uri(blobWithSas.AbsoluteUri)); using (var stream = new FileStream(fullFilePath, FileMode.Open)) { blob.UploadFromStream(stream); } 有: blobWithSas.BaseUri = http://127.0.0.1:10000/devstoreaccount1/a6dc9274-6ce1-4095-be6b-e84d1012cb24是容器的名称,已存在,在其他地方创建。) blobWithSas.Sas = ?sv=2012-02-12&se=2013-06-23T03%3A04%3A53Z&sr=b&sp=w&sig=NaMqgXRMXDFvLAp8LTskgplAKp%2B9LCZzq8WK9Zo35x8%3D (也在代码中的其他地方发布) blobWithSas.AbsoluteUri = http://127.0.0.1:10000/devstoreaccount1/a6dc9274-6ce1-4095-be6b-e84d1012cb24/foldername/filename.txt blob不存在,我想上传新文件并创建一个blob。 我有“服务器”应用程序持有Azure存储帐户的访问密钥。 服务器将向客户端发出SAS,客户端将文件直接上载到Azure。 所以SAS只会写,没有阅读,客户端会创建服务器告诉他们的文件(容器,文件夹名称) GetBlobReferenceFromServer出现问题 – 我从Azure存储中收到404错误。 是的,blob不存在且没有引用。 […]