`
qlc29qlc
  • 浏览: 13134 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Windows Azure(四-2):云端的文件系统(Blob Storage)

 
阅读更多

Windows Azure(四-2):云端的文件系统(Blob Storage)
2011年06月29日
  前一篇《Windows Azure(四-1):Worker Role(对应传统服务器BackGroud 程序) 》
  序:文件系统是操作系统的核心功能模块,用于数据文件的管理与存储;在云端当然也存在管理文件的情形,我们如何操作云端的呢?通过REST API来进行对文件的操作,具体查看Blob 服务 API。 准备
  请确保你从Windows Azure 平台下载下载并安装了最新的Windows Azure开发工具。本教学使用Visual Studio 2010作为开发工具。
  步骤一:创建解决方案和项目
  由于我们要在本地模拟环境下测试Blob Storage,首先,请确保Storage Emulator已经启动。我们可以找到管理器的进程手动启动或者让Visual Studio 2010帮助我们启动他(运行一个项目即可)。
  右击工具栏中Windows Azure模拟器的图标,选择"Show Storage Emulator UI"。弹出如下图所示的窗口:       
  
  我们要关注的是Service management中Blob所在的一行。要确保Status为Running。   确认完毕后启动Visual Studio 2010,并且新建一个Console项目。 步骤二:添加SDK程序集引用
  因为 微软提供Microsoft.WindowsAzure.StorageClient类来帮助RSet API调用,发送 REST请求。所以引用它的dll即可:
  1. 确保:项目属性页里确认项目的Target framework的值是.NET Framework 4或.NET Framework 3.5。(注意哦,一定设置,默认不是这个设置!!)
  2. 然后添加对C:/Program Files/Windows Azure SDK/v1.4/ref/Microsoft.WindowsAzure.StorageClient. dll的引用。(该路径为SDK默认安装路径,如果你不能在这个路径中找到Microsoft.WindowsAzure.StorageClient.dll请从SDK安装路径中寻找。)s
  步骤三:添加代码   using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.WindowsAzure.StorageClient; using Microsoft.WindowsAzure; namespace WT.Cloud.BlobStorageAPITest { class Program { static void Main(string[] args) { // 创建Blob 客户端 var account = CloudStorageAccount.DevelopmentStorageAccount; CloudBlobClient blobclient = account.CreateCloudBlobClient(); // 检查container是否被创建,如果没有,创建container CloudBlobContainer container = blobclient.GetContainerReference("helloworldcontai ner"); container.CreateIfNotExist(); // 新建一个CloudBlob,内容为"Hello World" CloudBlob cloudBlob = container.GetBlobReference("helloworldFile"); cloudBlob.UploadText("wt,love azure program"); // 读取云端内容 Console.WriteLine("读取云端内容:"); string cloudContent = cloudBlob.DownloadText(); // 删除blob bool succeed = cloudBlob.DeleteIfExists(); } } }      运行:
  
  真实的云端操作
  步骤四:观察并分析代码
  步骤三中的代码中,首先我们通过CloudStorageAccount.DevelopmentStorageAccount来说明我们使用的本地的Development Storage自带账户而不是真正的云端存储服务账户。(如果要用真实账户可以使用
  //DefaultEndpointsProtocol=https可以改成DefaultEndpointsProtocol=http表示用HTTP而不是HTTPS
  CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[用户名];AccountKey=[密码]");
  来实例化对象)然后通过该账户类来实例化一个Blob客户端类。这两步是使用SDK中StorageClient程序集来调用Blob Storage服务的必要步骤。接下来的代码逻辑可以分为四部分: 检查container是否被创建,如果没有,创建container
  新建一个blob,内容为"Hello World"
  读取并显示blob内容 删除blob
  第一部分,我们得到一个container的引用。就作用来说我们大致上可以把container类比成是桌面操作系统中的文件夹。我们在得到引用后检查该container是否存在。注意如果是用的真实账号,当调用CreateIfNotExist()方法后就有REST请求发出了。
  后面几部分代码非常简单。我们可以看到SDK提供给我们的API是十分简单好用的。
  步骤五:运行程序
  按F5调试程序。如果一切正常你将会看到输出的消息如下图所示:   
  
  步骤六:创建新的Storage Account   使用支持SilverLight的浏览器打开https://windows.azure.com/。(注意:您可能需要输入您的Live ID和密码来通过身份验证) 点击New Storage Account:   
  
  在Create a New Storage Account对话框里,在标记为Choose a subscription 的下拉框里选择一个订阅选项:   
  
  在标记为Enter a URL的文本框里输入一个URL前缀来指定它的URL:     
  
  选择区域:     
  
  最后点击Create按钮完成创建。等待创建过程完成后,我们可以看到系统给我们分配了3个URL,分别是Blob URL、Table URL和Queue URL,以及刚才我们自己输入的用户名。     
  
  然后点击属性栏里的Primary access key或者Secondary access key可以看到这些key的值。点击View Storage Access Keys对话框里的Copy to Clipboard按钮就可以拷贝到粘贴板里了。     
  
  步骤七:使用Storage Account运行程序   将代码里的:
  CloudStorageAccount.DevelopmentStorageAccount
  替换成:
  CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[用户名];AccountKey=[密码]")
  根据刚才创建的Storage Account填入用户名和密码。最后运行程序的结果是一样的。但是这次用的是Windows Azure上的Blob Storage作为存储服务。   
  
  出现问题
  问题1
  "Warning 3 The referenced assembly "Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" could not be resolved because it has a dependency on "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project. WT.Cloud.BlobStorageAPITest"
  解决:项目版本默认是.NET platform version is set to 4.0 Client Profile ,运行便会产生此错误。项目属性页里确认项目的Target framework的值是.NET Framework 4或.NET Framework 3.5 
  源: http://blogs.msdn.com/b/azchina/archive/tags/windo ws+azure_6551e8955965665bfb7c1752_/
分享到:
评论

相关推荐

    azure-spring-boot:适用于Azure服务的Spring Boot Starters

    《Azure Spring Boot:开启云端开发新篇章》 在数字化转型的大潮中,云服务已经成为企业级应用的基础设施。Azure,作为微软提供的全方位云平台,为企业提供了丰富的服务和解决方案。而Spring Boot,作为Java开发者...

    Windows Azure使用入门 第七课:云端存储和管理数据.pdf

    ### Windows Azure 使用入门 第七课:云端存储和管理数据 #### Windows Azure 存储概述 在当今这个数据驱动的时代,随着数据量的爆炸性增长,企业和个人面临着如何有效存储、管理和利用这些数据的巨大挑战。微软的...

    12天的azure学习清单

    #### DAY-2:深入理解Azure计算服务 - **Azure Virtual Machines**:支持多种操作系统(Windows、Linux等),并可自定义配置规格。 - **Azure Functions**:基于事件触发的无服务器计算服务,按需运行代码片段。 - ...

    azure-blob-upload-maven-plugin:将目录递归上传到Azure Blob存储的Maven插件

    在上面的示例中,`connectionString`指向你的Azure Blob存储账号,`containerName`是你要上传的容器名,`sourceDirectory`是本地文件系统的路径,Maven会在`deploy`阶段执行上传操作。 除了基本配置外,该插件可能...

    windows Azure云平台介绍

    #### 四、深入理解Windows Azure 为了更好地开发Windows Azure应用,还需要深入了解以下几个方面: 1. **开发Windows Azure应用**:学习如何利用Windows Azure提供的SDK和工具来开发应用。 2. **计算服务详解**:...

    Windows Azure Storage(讲稿)

    1. **可扩展性**:Windows Azure 存储服务能够轻松应对从小到大规模的数据存储需求,并能够根据用户的业务增长自动扩展资源。 2. **耐用性**:通过数据冗余备份机制确保数据的安全性和持久性,即使面对硬件故障也...

    cloud-storage:存储文件的服务器

    在Python中,我们可以使用Boto3(AWS SDK),google-cloud-storage(Google Cloud SDK)或azure-storage-blob(Azure SDK)等库来操作云存储。 首先,让我们深入了解云存储的基本概念。云存储是通过互联网将数据...

    Azure存储帐户第2部分:使用C#上传Blob存储中的文件

    在C#项目中,我们可以使用NuGet包管理器来安装`WindowsAzure.Storage`包,它包含了Azure Blob存储的客户端库。如果使用的是.NET Core项目,可以使用`Microsoft.Azure.Storage.Blob`包。 接下来,我们先要设置Azure...

    simple-image-server:基于MongoDB,Azure Blob存储或Google Drive托管自己的图像服务器

    基于MongoDB,Azure Blob存储或Google云端硬盘托管自己的映像服务器 入门 支持平台 AWS S3存储 Google云端硬碟 Azure Blob存储 MongoDB GridFS 支持的格式 图片/ jpeg 图片/ png 图片/ Webp :laptop_computer: ...

    azure-veneziano:基于Microsoft Azure的简单遥测遥控系统

    - **Azure Blob Storage**: 存储历史遥测数据,以便后续分析和报告。 2. **C#编程语言** - 项目采用C#编写,这是一种面向对象的编程语言,特别适合构建复杂的Windows和Web应用程序。C#在Azure开发中广泛使用,...

    azure-iot-remote-monitoring:Azure IoT远程监控预配置解决方案

    4. **存储与分析**:数据可能被持久化到Azure Blob Storage或Azure Time Series Insights中,以便长期存储和深度分析。 5. **Web 应用界面**:C#可能被用来开发一个监控仪表板,展示设备状态、历史数据和实时警报,...

    Microsoft Windows Azure Platform 白皮书

    Windows Azure 平台由三个主要组件构成:Windows Azure(计算服务)、SQL Azure(数据库服务)和Windows Azure Storage(存储服务)。这三者协同工作,为企业提供灵活、可扩展且高可用的云环境。 1. Windows Azure...

    azure-wfh:使用Azure和o365为您的“在家工作”环境添加智能

    4. **数据存储与备份**:Azure Blob Storage和Azure Files可作为安全的数据存储解决方案,同时提供备份和灾难恢复策略,保护企业数据免受意外损失。 5. **协作工具**:Azure Functions和Logic Apps可以用于自动化...

    big-data-on-azure:在Azure上进行大数据的源代码和脚本-Big source code

    它可以连接到多种数据源,包括Azure SQL Database、Azure Blob Storage和HDInsight,帮助用户理解并分享洞察。 6. **Azure Functions**: 无服务器计算平台,允许开发者编写按需执行的代码片段(函数)。在大数据...

    Azure入门指南_20150119.pdf

    - 深入了解Azure Blob Storage、File Storage等服务,学习高效存储和管理大量数据的方法。 - **第八课:云端备份和灾难恢复** - 提供关于如何在Azure中实施备份策略和灾难恢复计划的最佳实践。 - **第九课:开发...

    spring-cloud-azure:Spring Cloud与Azure服务的集成

    `spring-cloud-azure`为Spring开发者提供了访问这些服务的便利,例如,你可以使用Spring Framework的文件上传功能直接将数据存入Azure Blob存储,或者通过Table API进行结构化数据的存储和查询。 最后,事件驱动...

    PyPI 官网下载 | azureml_opendatasets-1.27.0-py3-none-any.whl

    3. **集成Azure服务**:此库与Azure Blob存储、Azure Data Lake Storage等无缝集成,可以方便地将数据上传到云端,进行大规模的计算和存储。 4. **预处理功能**:`azureml-opendatasets`提供的类通常会自动处理数据...

    azcopy 基本使用11

    az storage blob list --account-name <your-storage-account-name> --container-name <your-container-name> ``` ##### 2. 登录认证 - **使用SAS令牌登录:** SAS(共享访问签名)是一种为存储资源提供临时...

    coldtea-img:将img(base64格式)上传到azure blob的中间层

    4. 创建Blob服务客户端:使用Azure Storage SDK,创建一个Blob服务客户端实例,以便与Azure Blob存储进行交互。 5. 上传Blob:调用Blob服务客户端的上传方法,将Blob对象上传到指定的存储容器中。 6. 返回URL:上传...

    Microservices, IoT and Azure 高清版

    - Azure服务概述:包括计算(如Azure Functions、虚拟机)、存储(如Blob Storage、Table Storage)、网络(如VNet、Load Balancer)等核心服务。 - Azure IoT服务:Azure IoT Hub作为设备管理和数据流的核心,...

Global site tag (gtag.js) - Google Analytics