Azure China (10) 使用Azure China SAS Token
《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的更多相关文章
- 如何生成Azure SAS Token
在Azure PaaS服务密钥的安全性文章中,提到过客户端实际上发送的是Token,而不是密钥.那么Token是该如何生成呢? Azure相应服务的SDK其实都提供了或者内置了生成Token的方法,可 ...
- Azure China (5) 管理Azure China Powershell
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China Cloud Update 2015-09-01 发现一个新的命令,在 ...
- 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件
Azure的存储包含Storage Account.Container.Blob等具体的关系如下: 我们常用的blob存储,存放在Storage Account的Container里面. 目前有三种方 ...
- 【Azure Developer】【Python 】使用 azure.identity 和 azure.common.credentials 获取Azure AD的Access Token的两种方式
问题描述 使用Python代码,展示如何从Azure AD 中获取目标资源的 Access Token. 如要了解如何从AAD中获取 client id,client secret,tenant id ...
- Azure CosmosDB (10) Azure Cosmos DB体系结构
<Windows Azure Platform 系列文章目录> Azure Cosmos DB的体系结构分为以下几个部分: 1.Database Accounts Database Acc ...
- 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...
- 【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现 ...
- 【Azure 云服务】Azure Cloud Service (Extended Support) 云服务开启诊断日志插件 WAD Extension (Windows Azure Diagnostic) 无法正常工作的原因
问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-se ...
- Windows Azure Storage (20) 使用Azure File实现共享文件夹
<Windows Azure Platform 系列文章目录> Update 2016-4-14.在Azure VM配置FTP和IIS,请参考: http://blogs.iis.net/ ...
随机推荐
- PHP入门教程-开发环境搭建
1.PHP简介: PHP是能让你生成动态网页的工具之一.PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP. 2.学习需要基础: a.HTML b.Ja ...
- 从github上获取资源速度慢的解决办法
今天在github上clone一个仓库的时候,速度非常慢,只有3kb/s,开代理也没用,网上找到的各种git config的方法也没有用,最后想到设置hosts试试.于是在git的安装目录下找到了/e ...
- Git 教程
Git 教程 新建 模板 小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过设置里的修改模板来改变新建文章的内容. Git使用 Git - 关于版本控制 TortoiseGit日常 ...
- nio 弊端
java-nio在Android上使用的种种弊端 August 12, 2013programming 我们知道,手机上的网络一般会比较慢(使用wifi除外),用户非常不希望自己在使用手机时被考验耐心 ...
- 浅论ViewController的加载 -- 解决 viewDidLoad 被提前加载的问题(pushViewController 前执行)
一个ViewController,一般通过init或initWithNibName来加载.二者没有什么不同,init最终还是要调用initWithNibName方法(除非这个ViewControlle ...
- Android之ListView——ArrayAdapter的用法学习
当我们使用ListView时,必不可少的便会使用到adapter,adapter的用处就像是一个水管接口,把你想展现的数据与你希望展现的布局样式通过某种协定结合起来. ArrayAdapter针对每个 ...
- Java变量自增和自减运算符的用法
1.后加加(num++): 先输出运算结果再加加: public static void main(String[] args){ int num=10; int p1=num++; System. ...
- C#中SQL Server数据库连接池使用及连接字符串部分关键字使用说明
(1) 数据库的连接使用后,必须采用close()连接等效的方法关闭连接.只有关闭后,连接才能进入连接池. 参见微软的使用连接池说明:https://msdn.microsoft.com/zh-cn/ ...
- DOM 事件
1.注册事件 // 事件处理函数 function handleMouseOver(event) { // process ...... } p.addEventListener("mous ...
- Python学习之路--Socket
Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...