2017-06-08 5 views
-1

Azure Appサービスをバックアップし、Azureストレージのコンテナにバックアップを保存するBashスクリプトを作成しようとしています。SASを生成してAzureストレージにアクセスする

そうするために、私はストレージにアクセスするために、私は、次のコマンドを使用するものを生成するために、SASが必要になります。ここ

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

問題であり、私はまた、上記のためにブロブ名を提供する必要がありますコマンドを使用することができますが、バックアップをコンテナに直接保存することをお勧めします。

Powershellを使用していて、hereの文書に従えば、SASを作成するためのblobストレージ名は必要ありません。

私は、BLOBレベルではなく、コンテナレベルで有効なAzure-CLIを使ってSASを生成する方法があるのだろうかと思っていました。

答えて

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 
0

私はのGauravに同意します。はい、コンテナレベルで有効なSASを生成できます。また、次のコマンドを使用して生成することもできます。これはbashシェルで動作します。

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== 
+0

私はあなたにdownvoteしませんでした。私は実際にあなたの答えをupvoted。 – Spaniard89

関連する問題