【问题标题】:Generating SAS to access Azure storage生成 SAS 以访问 Azure 存储
【发布时间】:2017-06-08 14:50:14
【问题描述】:

我正在尝试编写一个 Bash 脚本来备份 Azure 应用服务并将备份保存到 Azure 存储中的容器中。

为此,我需要一个 SAS 来访问存储并生成一个,我将使用以下命令:

az storage blob generate-sas -c containername --account-name storage-account-name -n blob-name

这里的问题是,我还需要为上述命令提供 blob 名称才能工作,但我希望我的备份直接存储在容器中。

但如果我使用 Powershell 并遵循文档 here,则不需要 blob 存储名称来创建 SAS。

所以我想知道是否有一种方法可以使用 Azure-CLI 生成 SAS,该方法在容器级别而不是 Blob 级别有效。

【问题讨论】:

    标签: bash azure azure-cli


    【解决方案1】:

    请尝试az storage container generate-sas

    az storage container generate-sas --name <container-name> --expiry <sas-expiry> --permissions <permissions> --account-name <account-name> --account-key <account-key>
    

    要查看此命令的所有选项,请使用:

    az storage container generate-sas --help
    

    【讨论】:

      【解决方案2】:

      我同意高拉夫的观点。是的,您可以生成在容器级别有效的 SAS。您也可以使用以下命令来生成它。它适用于 bash shell。

      groupname=<>
      accountname=<>
      containername=<>
      ##generate connection-string
      StorageAccountConnectionString=`az storage account show-connection-string --name $accountname --resource-group $groupname --output tsv`
      ##generate sas
      sas=`az storage container generate-sas --connection-string $StorageAccountConnectionString -n $containername --permissions rl --expiry 'Y-m-dTH:M:SZ' --output tsv`
      
      #usage example
      
      groupname=shui
      accountname=shui
      containername=shui
      ##generate connection-string
      StorageAccountConnectionString=`az storage account show-connection-string --name $accountname --resource-group $groupname --output tsv`
      ##generate sas
      sas=`az storage container generate-sas --connection-string $StorageAccountConnectionString -n $containername --permissions rl --expiry '2018-06-30' --output tsv`
      echo $sas
      se=2018-06-30&sp=rl&sv=2016-05-31&sr=c&sig=GTdFdruu2DxzSoIKCb0K7YQpBPaJdHSaXLUPSOzTcZ4%3E
      

      您还可以使用 Azure CLI 2.0 来获取存储密钥。

      #usage example
      az storage account keys list -n shuihdi -g shui4 --output tsv|head -n 1|awk '{print $3}'
      5NQdibPibJrxQ3StybPb1kMsAL8NVdL3GT3KWcodWL96vhBNz5fYRKuXmYWkHxPxvxGnmJTOAY2rizgnJa4qmQ==
      

      【讨论】:

      • 我没有对你投反对票。我实际上赞成你的回答。
      猜你喜欢
      • 2019-10-16
      • 2016-12-10
      • 2022-06-17
      • 2021-10-02
      • 2020-05-29
      • 2021-05-12
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多