Azure Blob实战之——从客户端到FTP
背景:Azure上的Blob至今微软官方还未给出一个很好的客户端工具,这严重影响了数据交互,现将本人最近测试整理的Blob上传工具使用经验与大家分享(包括FTP的WorkerRole)
环境:
VS2010 with sp1/VS2012 +Windows Azure SDK 1.5
Windows Azure账号
一、Azure Blob介绍
Blob是Storage中常用的Azure选项,主要是用来进行二进制数据(如图片、视频等)的存储和管理。
二、为什么要配置FTP
目前常用的Blob上传工具主要特点及不足
优点:仅仅安装以后就可以直接使用,对Container上的文件进行删改,不用对Blob进行配置
不足:上传的时候只能进行文件操作,不能进行文件夹操作;上传操作的时候看不到操作状态。
2)cloudxplorer(推荐)
优点:界面友好,功能强大(比如说可以建立快照、文件夹拖放、甚至不同文件夹和账户之间迁移等),能免费试用,界面操作上有些像资源管理器
缺点:收费软件,试用期为30天
3)AzCopy
是命令行工具,感觉用起来还不是很方便,还没仔细研究过。
5)CloudBerry Explorer for Azure Blob Storage
三、Ftp2Azure介绍
上面列举了这些客户端工具以后,就不得回到本文的重点-FTP。
由于Blob本身是不支持FTP Server功能的,所以就有人变通了一下通过WorkerRole来实现类似的功能,这里大家用得比较多的就是Ftp2Azure曲线实现。
四、使用配置步骤
首先要有Azure的账号(可以申请免费三个月的,但是需要Visa卡和手机验证,目前还不支持大陆手机号)
1、下载FTP2Azure的Release文件(FTP2Azure Azure Package),其中只有FTP2Azure.cspkg和ServiceConfiguration.cscfg两个文件。
2、登陆到azure中对应的CloudService,选择Upload选择相应的package包
3、配置:该WorkerRole目前仅仅支持Production环境,不支持Staging,尽量设置成多Instance,否则发布会失败。
Dashboard中有响应的FTP服务器地址及端口信息。
设置好对应参数,特别是FtpAccount就是要用到的FTP账号和密码了,name就是Conainer名称,如果不存在对于的Container则会自动创建,另外注意密码中不要有“)”。
五、Demo测试
用FlashFXP等工具连接测试一下,可以上传文件了。
六、总结
1、注意事项:
1)该ftp server不支持文件上传覆盖
2)该ftp server暂时还不支持断点续传
3)FTP客户端上传的时候把编码设置为UTF-8,否则中文文件名会出现乱码
4)Ftp2Azure稳定性并不是很好,偶尔会出现不能显示列表的小故障