中国版Azure 文件服务
中国版Azure 文件服务预览版在2015年1月13日已经上线,文件存储使用标准SMB 2.1协议为应用程序提供共享存储。
当我们的虚拟机连接到文件共享后就可以像使用本地共享文件夹一样来读取和写入文件。在使用Azure 文件服务之前我们需要两步准备工作
第一步:创建新存储账户
Note: 只有在Azure 文件服务上线后所创建的存储账户才会有Azure 文件服务功能
1) 打开Azure门户网站:https://manage.windowsazure.cn/
2) 按下图点击 数据服务 -> 存储 -> 快速创建
3) 打开我们创建的存储的仪表盘,我们将看到我们文件服务的终结点
第二步:下载和安装Azure PowerShell cmdlets,关于如何安装和配置 Windows Azure PowerShell请阅读:http://www.windowsazure.cn/zh-cn/documentation/articles/install-configure-powershell/
Note: Azure PowerShell 0.8.5 及更高版本才支持Azure 文件服务
所有准备工作完成后我们就可以开始了,目前Azure门户网站不支持创建存储共享,我们还是需要以PowerShell的方式来创建。
1) 启动安装好的Windows Azure PowerShell,使用下面的命令来登录你的中国版Azure账户
Add-AzureAccount -Environment AzureChinaCloud
2) 创建上下文
$ctx=New-AzureStorageContext <帐户名称> <帐户密钥> -Environment AzureChinaCloud
Note: 我们使用的是中国版的Azure,所以需要添加Environment这个参数否则会出现下面的错误,从错误中可以很明显的看到终结点并非我们中国版Azure的后缀core.chinacloudapi.cn
New-AzureStorageShare: The remote name could not be resolved: '<account name>.file.core.windows.net'
3) 使用上下文创建文件共享
$s = New-AzureStorageShare <共享名称> -Context $ctx
4) 下面我们在虚拟机中配置共享目录
右击这台电脑 -> 点击映射网络驱动器
在文件夹输入框内输入 “\\<帐户名称>.file.core.chinacloudapi.cn\<共享名称>“,其中需要勾选“使用其他凭据连接“,因为我们使用的是存储账号和存储密钥的方式进行登陆。
然后在登录界面使用Azure存储的账号和密钥,之后我们就会在网络位置中看到我们的共享文件。
5) 如果文件共享不再需要了我们可以选择删除以避免不必要的费用,关于Azure 文件服务的收费请查看官网:http://www.windowsazure.cn/home/features/storage/#price ,我们可以通过下面的指令来执行删除操作:
a) 检索我们的Azure 文件服务下的所有共享文件
Get-AzureStorageShare -Context $ctx
b) 找到我们需要删除的共享文件名,执行删除操作
Remove-AzureStorageShare -Name <共享名称> -Context $ctx
至此我们就可以在Azure 虚拟机或者云服务中使用Azure 文件服务,但是需要注意的是映射网络驱动这种方式并不适用于本地环境,如果需要在本地环境中使用Azure 文件服务的话,我们就需要借助于File Storage API,下面的内容是演示如何使用.NET来实现企业内部环境使用Azure 文件服务,如果你使用其他语言你也可以尝试通过http请求的方式来实现,Rest API地址是: https://msdn.microsoft.com/zh-cn/library/azure/dn167006.aspx
1) 创建项目,安装Azure 存储NuGet包
a) 打开Visual Studio –> 选择File -> New Project –> Templates -> Visual C# -> 选择Console Application
b) 定义项目名为AzureFilesDemo
c) 右击项目选择” Manage NuGet Packages“,在搜索框内输入Azure Storage,然后安装Azure存储NuGet包。
2) 代码编写
a) 修改App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<connectionStrings>
<add name="StorageConnectionString" connectionString="BlobEndpoint=https:// <Account Name>.blob.core.chinacloudapi.cn/;QueueEndpoint=https:// <Account Name>.queue.core.chinacloudapi.cn/;TableEndpoint=https:// <Account Name>.table.core.chinacloudapi.cn/;FileEndpoint=https:// <Account Name>.file.core.chinacloudapi.cn/;AccountName=<Account Name>;AccountKey=<Account Key>"/> />
</connectionStrings>
</configuration>
b) 在Program.cs中引入命名空间,并编写代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.File;
using System.Configuration; namespace AzureFilesDemo
{
class Program
{
static void Main(string[] args)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString); CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
CloudFileShare share = fileClient.GetShareReference("fileshares");
if (share.Exists())
{
CloudFileDirectory rootDir = share.GetRootDirectoryReference();
CloudFileDirectory sampleDir = rootDir.GetDirectoryReference("Resource");
sampleDir.CreateIfNotExists();
}
}
}
}
通过上述操作我们就可以在企业内部网络文件共享(”fileshares”)里创建一个名为”Resource”的文件夹,我在之前操作的虚拟机中也看到了这个文件夹如下图:
Note: Azure存储的连接字符串如下
DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};EndpointSuffix=core.chinacloudapi.cn;
Azure File SDK还提供了我们很多的功能,如果有兴趣,大家可以去研究下。
中国版Azure 文件服务的更多相关文章
- [Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅
比较关心微软平台技术的朋友应该都知道,微软云服务(Microsoft Azure)以下简称Azure分为全球版和中国版,由于政府法规问题中国版的服务是由二十一世纪互联运营,整体来看中国版Azure和全 ...
- 中国版 Azure 现提供 Azure Traffic Manager
Stephen MaloneAzure网络 - DNS和 Traffic Manager高级项目经理 我们非常高兴地宣布,中国版 Azure中现已提供 Azure Traffic Manager.Az ...
- 中国版Azure支持那些版本号Linux
不在下述列表中的Linux表示尚未经过正式验证,并不意味着不能使用,客户能够通过自行上传镜像文件的方式使用其它Linux版本号,可是不保证是否遇到一些驱动或者兼容问题. 分发 版本号 上次验证时间 驱 ...
- Traffic Manager:Azure中国版 正式发布
我们很高兴地宣布Azure Traffic Manager 现已面向中国版Azure正式发布.此版本现已投入生产,由企业 SLA支持,随时可用于生产场景中. 借助Azure Traffic Ma ...
- 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题
千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...
- 中国区 Azure 和全球版 Azure:功能对比
由世纪互联运营的 Microsoft Azure(文中简称为中国区 Azure)是在中国大陆独立运营的公有云平台,与全球其他地区由微软运营的 Azure (文中简称全球版 Azure)服务在物理上和逻 ...
- 跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版
随着公有云的普及,越来越多的客户将关键应用迁移到云端.但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响.此外, ...
- 自制Azure中国版“加血包”
Micrsoft Azure中国版的国际出口最近升级为电话线拨号模式,目测为10个用户共享一条56kb的电话线拨号链路.有图有真相: 中国的IT从业者,有三分之一的职业生涯时间是在跟网络斗智斗勇.这点 ...
- 使用VNET-to-VNET连接Microsoft Azure国际版和中国版
Microsoft Azure的VNET-to-VNET功能可以实现跨虚拟网络的VPN连接,通过VNET-to-VNET互联的两个虚拟网络可以在同一个订阅下或者隶属不同的订阅,而且可以跨数据中心.这实 ...
随机推荐
- 手机发烫是为何—— App 电量测试定位方法
为什么要做电量测试 随着移动互联网的快速发展,手机的实用性.娱乐性越来越强.日常使用中发现,安装了应用后,即使不怎么使用,电量也会消耗很快.但如果恢复出场设置充满电后,手机可以待机很长时间.真相只有一 ...
- leetcode824
class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...
- log4j配置文件的手动加载与配置初始化
一. 本地项目: 初始化log4j的日志配置,指定到src目录下(建议用2) //1. 本地项目-属性文件配置 PropertyConfigurator.configu ...
- OpenGL ES & SDL(转载)
原帖:http://qqwt.blog.sohu.com/91060365.html 这个学期在学习嵌入式,由于老师的高要求.所以我们几个水手必须要完成一个项目,名字就叫OpenGL ES & ...
- Ant 执行 exec cmd.exe 时路径包含空格的问题
需求描述 通过Ant脚本调用bat脚本 问题描述 bat脚本所在目录名称包含空格(space),cmd.exe调用时候报错The system cannot find the path specifi ...
- 性能优化之_android内存
优化内存使用主要是三个原则: CPU如何操纵特定的数据类型 数据和指令需要占用多少存储空间 数据在内存中的布局方式 处理大量数据时,使用可以满足要求的最小字节数据类型,能用short就不用int,能用 ...
- DataTable 设置primarykey 后进行 Merge操作
1.先查看概念 可以看highplayer博客 http://blog.csdn.net/highplayer/article/details/6613817 2. protected void st ...
- SQL 左联接去除左边重复的数据
代码如下: use DB go select table1.*,b.OPTime from [dbo].[table1] left join( select * from (select table2 ...
- Part10-C语言环境初始化-Bss段初始化lesson2
1.BSS段的作用 初始化的全局变量存放在数据段: 局部变量存放在栈中: malloc的存放在堆: 未初始化的全局变量存放在BSS段: 找到bss段的起始与结束地址,往里面添加0,便初始化好了. 打开 ...
- SpringMVC——映射请求参数
Spring MVC 通过分析处理方法的签名,将 HTTP 请求信息绑定到处理方法的相应人参中. @PathVariable @RequestParam @RequestHeader 等) Sprin ...