Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 394 评论 :: 0 引用

  《Windows Azure Platform 系列文章目录

 

  本文介绍的是国内由世纪互联运维的Azure China

  注意:本文介绍的是Azure China Storage Private Blob,即不可以通过匿名访问

 

  在笔者之前的文章中,我们介绍了Azure Share Access Signature,可以对设置为Private属性的Azure Container,设置一个临时的访问Token,在这个可以访问的时间内,对某一个Azure Blob资源进行访问。

  具体可以参考笔者之前写的文章:

  Windows Azure Storage (1) Windows Azure Storage Service存储服务

      Windows Azure Storage (2) Windows Azure Storage Service存储服务之Blob详解(上)

      Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)

      Windows Azure Storage (4) Windows Azure Storage Service存储服务之Blob Share Access Signature

 

  那如果我们使用国内由世纪互联运维的Azure China,如何才能使用Azure China Share Access Signature呢?

  这里我写了一个基于ASP.NET的Sample Code,可以在这里下载:http://files.cnblogs.com/files/threestone/AzureBlobSAS.rar

 

  如何运行这个ASP.NET的Sample Code?

  1.首先我们用Visual Studio 打开项目

  2.查看存储账号信息。

  

 

  查看访问密钥:

    

 

  3.将上面的存储账号名称和访问密钥修改:

    <!--存储账号名称-->
    <add key="AccountName" value="[YourAzureChinaStorageAccountName]" />
    <!--存储账号密钥-->
    <add key="AccountKey" value="[YourAzureChinaStorageAccountKey]" />
    <!--ContainerName,必须是小写-->
    <add key="ContainerName" value="private" />
    <!-- SAS过期时间xx秒-->
    <add key="expireseconds" value="20" />

  注意:ContainerName的值,默认可以不存在。

  我写的sample code代码里,如果ContainerName不存在,则创建该Container,并且权限为Off

    private void EnsureContaierExists()
        {
            var container = GetContainer();

            // 检查container是否被创建,如果没有,创建container
            container.CreateIfNotExists();

            var permissions = container.GetPermissions();
            //对Storage的访问权限是OFF
            permissions.PublicAccess = BlobContainerPublicAccessType.Off;

            container.SetPermissions(permissions);
        }

 

  4.然后我们可以Rebuild Solution,再按F5运行即可。

 

  

posted on 2015-11-10 12:06  Lei Zhang的博客  阅读(...)  评论(... 编辑 收藏