《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运行即可。

  

Azure China (10) 使用Azure China SAS Token的更多相关文章

  1. 如何生成Azure SAS Token

    在Azure PaaS服务密钥的安全性文章中,提到过客户端实际上发送的是Token,而不是密钥.那么Token是该如何生成呢? Azure相应服务的SDK其实都提供了或者内置了生成Token的方法,可 ...

  2. Azure China (5) 管理Azure China Powershell

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Cloud Update 2015-09-01 发现一个新的命令,在 ...

  3. 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件

    Azure的存储包含Storage Account.Container.Blob等具体的关系如下: 我们常用的blob存储,存放在Storage Account的Container里面. 目前有三种方 ...

  4. 【Azure Developer】【Python 】使用 azure.identity 和 azure.common.credentials 获取Azure AD的Access Token的两种方式

    问题描述 使用Python代码,展示如何从Azure AD 中获取目标资源的 Access Token. 如要了解如何从AAD中获取 client id,client secret,tenant id ...

  5. Azure CosmosDB (10) Azure Cosmos DB体系结构

    <Windows Azure Platform 系列文章目录> Azure Cosmos DB的体系结构分为以下几个部分: 1.Database Accounts Database Acc ...

  6. 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code

    问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...

  7. 【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)

    前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现 ...

  8. 【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因

    问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-se ...

  9. Windows Azure Storage (20) 使用Azure File实现共享文件夹

    <Windows Azure Platform 系列文章目录> Update 2016-4-14.在Azure VM配置FTP和IIS,请参考: http://blogs.iis.net/ ...

随机推荐

  1. 深入研究C语言 第二篇

    1. 程序一: 首先我们研究如下程序: 回答如下问题: 1. 程序运行时n,a,b,c的段地址在哪个寄存器中? 全局变量的存储空间在什么段里?局部变量的存储空间在什么段了?参数在什么段里?函数的返回值 ...

  2. ServletContext获取的方法

    ServletContext  代表当前web应用 如何获取ServletContext对象 ServletConfig对象中维护了ServletContext对象的引用,可以通过以下方式获得 Ser ...

  3. C++基础知识易错点总结(1)

    1. 在C++中,不能被重载的运算符有: sizeof . 成员运算符 .* 成员指针运算符 :: 作用域运算符 ?: 条件运算符 2. C++语言多态性:编译时多态和运行时多态: 编译时多态可通过函 ...

  4. HDU Math Problems

    1576 const int mod = 9973; n = a - a / mod * mod; a / b = ans; ans * b = a = a / mod * mod + n; n = ...

  5. angular中ng-include失效的原因

    使得angular的ng-include指令失效的原因有两个: 例如:在demo.html中的代码<div ng-include = "'demo1.html'">&l ...

  6. android studio 华为手机看不到具体的错误日志

    手机的开发人员选项打开了么,其中的 USB 调试打开了么?搞定他们并重新运行,是否能找到我们的日志?否,转到 2. 日志中是否有这样 could not disable core file gener ...

  7. Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解

    在上篇博客中我们分析了sql注入的原理,今天我们就来看一下sql注入的整体过程,也就是说如何进行sql注入,由于本人数据库和网络方面知识有限,此文章是对网上大量同类文章的分析与总结,其中有不少直接引用 ...

  8. oracle的加密和解密

    加密函数 create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 isv_tex ...

  9. 纯css实现模块阴影变色效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. WINCE 获取智能设备唯一编号

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...