C# Azure 存储-Blob

1. 前言

本文是根据Azure文档与本人做了验证之后写的。

如果想下载微软官网的demo, 请前往github https://github.com/Azure-Samples/storage-blob-dotnet-getting-started

 

2. 介绍

Azure Blob是存储很大空间的服务,能允许存储与访问通过http或https。Blob是有公有与私有的属性。公有是所有人可以看到的链接,私有是要通过秘钥等才可以访问到资源。

blob可以存储:

1)images或document指向一个文件夹

2)保存文件

3)视频与音频

4)存储数据的备份和恢复、灾难恢复和归档

5)由一个本地存储数据进行分析或azure托管服务

 

3. 概念

1)Container容器:

一个容器可以包含很多个blobs,一个账号可以包含很多个containers容器。请注意容器名字要为小写。

2)Blob:

blob是一个文件的属性与大小。Azure存储的blobs包含三种类型:block blobs、page blobs、append blobs。

  Block blobs:存储的是text与二进制文件,例如documents与媒体类型文件。

  Append blobs:是类似于Block blobs,但是它是做了优化的操作,所以它是用于logging的操作。一个简单的block blob或者 append blob 可以包含5000个blocks,最大每个文件4MB,整个大小最大为194GB(4MB*50000)

  Page blobs:最大为1TB,是可以读写的操作。

 

4. 代码开始

1)创建存储账户

关于创建存储的步骤,请参照

http://www.cnblogs.com/alunchen/p/5765700.html

中的第3大点

 

2)导入包,在包管理器上面分别输入下面的命令:

Install-Package WindowsAzure.Storage

Install-Package Microsoft.WindowsAzure.ConfigurationManager

 

2)建立连接

              string connStr = "DefaultEndpointsProtocol=https;AccountName=ceslighttest;AccountKey=cp3JXYFXu6XhV18oVQW2q7urHOhxhm9Guwl6uElTBWd9nxxxxxxxxxxxxxx;EndpointSuffix=core.chinacloudapi.cn";//建立连接CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connStr);CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

 

3)创建容器

             // 创建容器,是否存在CloudBlobContainer container = blobClient.GetContainerReference("testuimageblobcontainercompanyname");container.CreateIfNotExists();

 

4)设置权限

容器默认是private的,意思是要指定key才能下载图片。如果要把图片设置成对外哪里都可以下载,请设置成public

                //容器默认是private的,意思是要指定key才能下载图片。如果要把图片设置成对外哪里都可以下载,请设置成publiccontainer.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

 

5)创建文件,并上传本地文件

复制代码
             // 创建文件名,如果有相同的文件名,则替换CloudBlockBlob blockBlob = container.GetBlockBlobReference("23.jpg");//上传本地文件using (var fileStream = System.IO.File.OpenRead(@"E:\23.jpg")){blockBlob.UploadFromStream(fileStream);}
复制代码

 

6)show全部在容器里面的blobs文件

复制代码
               // 输出文件大小与路径uriforeach (IListBlobItem item in container.ListBlobs(null, false)){if (item.GetType() == typeof(CloudBlockBlob)){CloudBlockBlob blob = (CloudBlockBlob)item;r += string.Format("Block blob of length {0}: {1}", blob.Properties.Length, blob.Uri);}else if (item.GetType() == typeof(CloudPageBlob)){CloudPageBlob pageBlob = (CloudPageBlob)item;r += string.Format("Page blob of length {0}: {1}", pageBlob.Properties.Length, pageBlob.Uri);}else if (item.GetType() == typeof(CloudBlobDirectory)){CloudBlobDirectory directory = (CloudBlobDirectory)item;r += string.Format("Directory: {0}", directory.Uri);}}
复制代码

 

7)删除blobs

               CloudBlockBlob blockBlob = container.GetBlockBlobReference("23.jpg");//删除blobblockBlob.Delete();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蜗牛星际ABCD款,这几款的区别你知道吗?

前言 本次文章有可能篇幅会超长,由于全部内容,可能导致万字长文,所以,本篇已经适当做了精简,只针对我目前拥有的蜗牛进行一些介绍,会附带一些教程链接。 每一个功能的实现,以后我都会单独写详…

蜗牛星际 --【功耗测量】

蜗牛星际b单千兆 正面 测量对象:蜗牛星际b单千兆 配置: j1900 16g 固态 4g ddr3l 内存 关机功耗 蜗牛星际待机功耗 蜗牛星际关机的情况下待机功耗为0.6w,一个月消耗不到两毛四分,一年不到三块钱。 开机功耗 未挂硬盘的情况下…

蜗牛星际:NAS从入门到放弃

预警1,蜗牛矿渣大批量上市是2019年3月的事情了。我写这个大概是2019年10月前后。我挑的最好的时候下手,C款全装只花了245包邮。现在由于市面上货量减少,价格上涨,已经没有原来那么高的性价比了。就连单卖的机箱也从原来的50包邮涨…

Dynamics 365 CRM 开发架构简介

目录 概览 名词解释连接到Dynamics 365 CRM Web APIOrganization service选择 - Web API vs. Organization service扩展服务端扩展应用端正文 Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式。 本文是对Dynamics 365 CRM编程模型的综述。 回…

Azure手把手系列 1:微软中国公有云概述

很久没有写文章了,主要也是疏于自己的懒惰,对于IT技术的放弃,但我相信浪子回头金不换,所以我又回来了。 相信现在还在泡博客的还在做IT的,或多或少都听过云、私有云及公有云的概念,那么今天给大家分享的是微…

Azure手把手系列 2:微软中国云服务介绍

在前面的文章中,我们已经了解到Azure有两种,分别是由微软直营的国际版,以及微软中国委托21世纪互联运营的国内版,两种Azure存在一定差异,并且数据不互通、帐号以及计费不统一。所以在选择微软公有云的时候也需要注意&a…

Azure手把手系列 3:把IT的钱花在刀刃上

对于Azure以及公有云的了解,可谓是永无止境的,用一句客户的话来说就是Azure是大海,只要你往前航行,一定能时不时的发现宝藏;Azure好比是一座冰山,当你以为你已经对Azure很熟悉了,其实这只是冰山…

Azure手把手系列 4:深入了解Azure 一块钱当三块用

通过前面的文章,相信大家对Azure有了一个基础的认识,接下来,我们再来看下作为企业,选择公有云服务最重要的因素之一 价格。我们都知道所谓公有云,就是要让IT资源变成我们生活中类似于水电气的资源,按需使用…

【Python CheckiO 题解】Feed Pigeons

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

场景: 某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functions 解析文件并将文件内容写入到服务总线Service Bus的队列中。 上传的文件格式为: 步骤: 下载并安装…

Power Platform之Power Automate新增RPA功能

​ 什么是RPA RPA( Robotic Process Automation 机器人流程自动化软件),是一种新型的人工智能的虚拟流程自动化机器人。RPA的核心是通过自动化、智能化技术来“替代人”进行重复性、低价值、无需人工决策等固定性流程化操作,从而…

Hyper-V第1代虚拟机和第2代虚拟机特性对照表

本文《Hyper-V第1代虚拟机和第2代虚拟机特性对照表》系小编在小伟博客看到的文档,转载给大家一起学习。 在 Windows Server 2012 R2 和 Windows 8.1 中内置的 Hyper-V 功能,新增了一种“第二代”虚拟机,从虚拟硬件的层面进行了提升&#xff0…

【转】五大方法,彻底永久关闭win10自动更新的方法【已验证有效】

自从微软大面积使用某员工后,思路越来越奇葩了,前天工作没做完,放在那里,第二天毫无羞耻的就给你重启了,那一瞬间,真想拿dollar到对面slay。于是就有下文,大部分内容是从网上摘录、归纳起来的。…

【Python CheckiO 题解】Probably Dice

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

Dynamics CRM 2016 安装

Dynamics CRM 2016 安装 CRM 2016出来了一段时间了,一直也没机会尝试一下,现在再测试ADFS的时候顺手装一个测试环境,记录一下整个安装配置流程。 首先准备好windows 2012 std,sql server 2014, dynamics crm2016安装…

【Python CheckiO 题解】Largest Rectangle in a Histogram

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

Dynamics 365 on-premises 安装

安装Dynamics 365环境配置要求: 系统版本:Windows Server 2016 SQL 版本: Microsoft SQL Server 2016 SP2 Dynamics 365 版本:CRM9.0-Server-CHS-amd64 安装步骤: 一.在虚拟机安装Windows Server 2016 二.安装好…

【Python CheckiO 题解】Date and Time Converter

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

2.1Dynamics 365 安装问题——无法访MSCRM_CONFIG数据库

1. 问题 2. 原因 出现此问题的一个或多个下列条件都为真︰ 在多务器中安装 Microsoft Dynamics 365。然后,直接在运行 Microsoft SQL Server 的服务器上安装 Microsoft Dynamics 365。但是,没有设置某些 SQL Server 权限。Mic…