zoukankan      html  css  js  c++  java
  • 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件

    Azure的存储包含Storage Account、Container、Blob等具体的关系如下:

    我们常用的blob存储,存放在Storage Account的Container里面。

    目前有三种方式可以把Blob里的内容共享给其他用户,这三种方式是:

    1.把Container的属性设置为公共容器

    2.把Blob属性设置为公共公共Blob

    设置好后,blob就可以通过wget的方式下载下来。

    3.通过SAS Token的方式实现在一定时间段内的文件共享

    SAS是shared access signature (SAS),可以实现文件共享。

    SAS Provider Service通过旁路的方式生成SAS的token,客户通过这个SAS Token实现在一定时间内,一定权限的访问。

    下面将采用powershell的方式生成SAS Token,给客户访问的权限。

    有一个文件:

    Get-AzureStorageBlob -Container hengweisoft -Blob googlechrome.dmg
    Container Uri: https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft
    Name BlobType Length ContentType LastModified SnapshotTime
    ---- -------- ------ ----------- ------------ ------------
    googlechrome.dmg BlockBlob 65936251 application/octet-stream 2015/7/6 8:09:00 +00:00

    其中hengweisoft这个Container是private的Container。

    $keys = Get-AzureStorageKey -StorageAccountName portalvhds6mlqtd15wqmm7
    $ctx = New-AzureStorageContext -StorageAccountName portalvhds6mlqtd15wqmm7 -StorageAccountKey $keys.Primary
    $startTime = Get-Date
    $endTime = $startTime.AddHours(2.0)
    New-AzureStorageBlobSASToken -Container hengweisoft -Blob googlechrome.dmg -context $ctx -Permission rwd -StartTime $startTime -ExpiryTime $endTime

    通过这个命令可以生成一串SAS的Token:

    ?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd

    将这一串Token连接到Blob的URL上:

    https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft/googlechrome.dmg?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd

    这个文件在2个小时之内是可以进行不需要认证的访问的。

    可以通过:

    wget "https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft/googlechrome.dmg?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd"

    直接获得这个文件。

  • 相关阅读:
    设计人员应该看的15个很酷的 iOS 8 设计
    jQuery 人脸识别插件,支持图片和视频
    无奇不有,20款国外便携式智能手机充电器
    CSS3 过渡特性创建信封效果的联系表单
    Converse.js – 开源的 XMPP 聊天客户端
    推荐12个创建响应式布局的优秀网格框架
    使用 jQuery & CSS3 实现优雅的手风琴效果
    Walkway.js – 用线条制作简约的 SVG 动画
    20套最新的扁平界面设计素材【免费下载】
    神奇的滚动动画,30个视差滚动网站设计
  • 原文地址:https://www.cnblogs.com/hengwei/p/5183464.html
Copyright © 2011-2022 走看看