问题标签 [azure-blob-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
silverlight - Silverlight clientaccesspolicy.xml 和 Azure 开发存储
我在理解 Silverlight 下载 clientaccesspolicy.xml 文件的情况时遇到了一些麻烦。我对运行时环境有一些需要解释的复杂情况。
这是一个 Azure Web 应用,在开发结构中以完整的 IIS 模式运行。定义了两个站点,App 和 Admin。由于它们都在端口:80 上,因此可以通过主机头 app.dev.com 和 admin.dev.com 访问它们,它们在我的 HOSTS 文件中都有指向 127.0.0.1 的条目。访问这两个客户端应用程序工作正常。Silverlight 加载并点击定义的 RIA 服务,没问题。
当 Silverlight 客户端尝试从开发存储访问 blob 时,事情变得很棘手。这个问题之前已经解释过,所以我不会太深入——底线,你不能把 XML 文件放在 web 的根目录中,因为 dev 存储是如何工作的(它转到http://127.0.0.1 :10000/devstoreaccount1/clientaccesspolicy.xml )。解决方案是重新映射 URL 的反向代理——我已经使用Fiddler rule完成了它。这样做的目的是“如果有 127.0.0.1:11000 的请求进入,则将该请求修改为 :10000 并获取它”等。
就重新映射而言,这是可行的;我可以在浏览器中点击http://127.0.0.1:11000/clientaccesspolicy.xml并获取实际位于 127.0.0.1:10000/devstoreaccount1/clientaccesspolicy.xml 的文件:
然后从通过http://app.dev.com:81/default.aspx访问的 Silverlight 客户端失败(提醒您,在 HOSTS 中重新映射到 127.0.0.1)
除了例外
在 Fiddler 中查看,未下载 clientaccesspolicy.xml 文件!我不知道为什么,或者如何调试它。我可以从我的浏览器下载 blob。谁能解释为什么这会在下载 XML 文件之前抛出?
然后我尝试更新那些 Fiddler 规则:
并更改要下载到的 URL
而这个成功了!Fiddler 捕获显示首先下载的 clientaccesspolicy.xml 文件和第二个 blob。
谁能帮忙解释这里发生了什么?在这两种情况下,Silverlight 应用程序都在http://app.dev.com:81/default.aspx进行访问。当它尝试从http://127.0.0.1:11000下载 blob 时,它会在没有首先下载 clientaccesspolicy.xml的情况下失败并出现 SecurityException 。但是当它从http://app.dev.com:10000下载一个 blob 时,它会成功,首先下载 clientaccesspolicy.xml,然后是 blob。
谢谢你的帮助,这个让我难住了。
http - Azure Blob:“不满足使用 HTTP 条件标头指定的条件”
运行应用程序时出现此异常。它也发生在真正的 Azure blob 存储中。
我已经用 Fiddler 抓住了造成这个问题的请求:
这是回应:
当我使用从这一行检索到的 Stream 时会发生这种情况:
为什么 ETAG 在读操作中介意?我怎样才能避免这个问题?
每次我在 blob 存储上启动多个并行任务时都会发生这种情况。
如果我使用:
我得到了这个没有内部异常的异常(在它有一个带有详细信息的 WebException 之前),或者是 Fiddler 中的一条失败行:
提前致谢。
azure - 文件绑定应用程序中与 Azure 的架构设计和角色通信
我正在考虑将我的 Web 应用程序迁移到 Windows Azure 以实现可扩展性,但我想知道如何最好地对我的应用程序进行分区。
我希望我的场景是典型的,如下所示:我的应用程序允许用户上传原始数据,对其进行处理并生成报告。然后,用户可以查看他们的原始数据并查看他们的报告。
到目前为止,我正在考虑一个网络角色和一个工作者角色。但是,我知道可以将 VHD 安装到具有读/写访问权限的单个实例,因此我的 Web 角色和辅助角色都需要访问公共文件存储。因此,也许我需要一个 Web 角色和两个独立的工作角色,一个工作角色用于处理,另一个工作角色用于读取和写入文件存储。这是一个好方法吗?
我很难想象角色之间的关系,并担心此分区之间的通信造成的开销,因此欢迎在此提供任何输入。
jquery - 使用 jQuery 从 Azure Blob 存储中查询 JSON 数据
我在 Azure blob 存储中有一些数据。数据为 JSON,并以“application/json”内容类型保存。
我的应用程序将托管在“myapp.com”上,这是一个包含“myapp.cloudapp.net”的 CNAME 的域。我想我应该创建一个指向我的 Azure 存储的自定义域名,例如“storage.myapp.com”。
但是之后?我可以使用 JSONP 或其他方式对 Azure 存储进行 JSON ajax 调用吗?
如何更好地做到这一点?
非常感谢。
c# - 散列文件时放慢速度
我正在尝试获取存储在 Windows Azure Blob Store 中的文件的哈希值。
我希望然后将哈希与存储在本地计算机上的版本进行比较,看看是否有区别。
以下代码获取哈希。
问题是这对小文件很有效,但我正在处理大于 100MB 的文件,而对于这些文件,服务需要的时间太长,最终会超时。
我想知道这是否是正确的方法,或者是否有另一种方法来确定两个文件是否包含相同的数据,这对于大文件来说会更快。
谢谢,马特
sharepoint-2010 - Running two instances of Azure VM
I am using Azure VM role. I created a separate VHD (uploaded to page blob) for storing SQL data files (to overcome data persistence issue with VM role). The SharePoint 2010 has been configured on VM. I want to run 2 instances of Azure VM, where I am faining as mounting the data VHD in write mode on 2 instances is not possible. Can anyone help me out in this?
azure - 获取容器中的最后一个 Azure Blob
我的容器中有一个具有以下名称的 blob 列表
例如。项目1 项目2 项目3 项目9 项目10 项目12 项目45
我想得到第一个和最后一个 blob,在这种情况下是 item1 和 item45
但是,当我使用 cloudblobclient.cloudblobdirectory.listblobs.last 时,item9 被退回给我,而不是我想要的。从列表中获取最后一项(45)的最佳方法是什么。
只能想到遍历完整列表,然后对于每个项目,获取字符“项目”之后的数字,并将该数字与之前的高位或低位进行比较。由于前4个字符是固定的,我将结合“item”和higherCnt:
因此最后的 blob(item45):
有没有其他方法可以做到这一点?当项目列表增长到数千时,担心性能。我只对第一个和最后一个 blob 感兴趣。谢谢!
asp.net - 尝试在 Azure 存储中保存生成的热图
我有一个热图,目前在我要移植到 Azure 存储的独立服务器上运行。如何在 Azure 存储中保存 butmap 文件。最初,我的 web.config 文件中有一个条目,将图像缓存指向另一个驱动器 (IE) 上的直接路径,现在所有内容都将位于存储帐户的 ~/map_cache 文件夹中。我如何修改它以在 Azure 中本地存储。
目前我收到以下错误消息
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Runtime.InteropServices.ExternalException:GDI+ 中发生一般错误。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[ExternalException (0x80004005): A general error occurred in GDI+.] System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) +772265 HotSpotTileServer.Page_Load(Object sender, EventArgs e) in C:\Projects\xxx \xxx\SpeedTrap\HotSpotTileServer.aspx.cs:141 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25 System.EventHandler.Invoke(Object sender, EventArgs e) +0 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +3048
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.1
.net - Azure Page Blob 要求我篡改文件大小
我正在尝试创建一个 Page Blob,因为将来我需要随机访问,虽然我可以上传文件,但下载时大小不同。
我上传了“file.docx”,然后下载为“file2.docx”。下载的有点大,实际上它的大小是四舍五入到页面 blob 页面大小,512 :) 在这种特殊情况下,Microsoft Word 给我一个警告说文件已损坏,但我仍然可以打开它并且内容是什么我期待着。
我从这里获得了代码示例:Using Windows Azure Page Blobs and How to Efficiently Upload and Download Page Blobs。我已经检查了上传它的代码和文档,显然您的页面上传必须从 512 字节边界开始(startingOffset % 512 == 0),并在 512 边界结束 - 1。然后当我需要上传不符合 512 的文件?
例如,如果我有一个 550 字节的文件,然后我上传并下载它,我会得到一个 1024 字节的文件,对吗?我应该怎么办?将原始文件大小保留在元数据中,还是有办法做到这一点?(或示例)。
提前致谢。
entity-framework - Azure Blob 服务是否有实体框架数据提供程序?
我正在考虑使用 WCF 数据服务来实现公开存储在 Azure Blob 服务中的对象的服务。我想知道是否可以使用基于实体框架的数据模型。据我了解,我需要一个与实体框架兼容的数据提供程序,它可以存储和检索来自 Blob 服务的数据。有这样的数据提供者吗?