0

私はVMといくつかのストレージを作成するARMテンプレートを持っています。そして、私のVSTSリリースプロセスでは、Linux VMにPythonサービスをインストールするソースコントロールに格納されているセットアップスクリプトを実行します。これらすべてが建築物から作られています。これはすべて機能しますが、サービスはARMテンプレートの一部として作成されたストレージアカウントのキューを読み取る必要があります。Linux VMにstorageaccountキーを渡すにはどうすればいいですか?

私はテンプレートのListKeys関数に気付いていますが、どうすればその情報をLinux VMに渡してPythonのスクリプト設定ファイルを更新できるかわかりません。

乾杯。

答えて

1

私の理解が正しい場合は、Azure Custom Script Extensionを使用してニーズを満たすことができます。ストレージアカウント名とストレージアカウントキーを受け取るスクリプトを書くことができます。

#!/bin/sh 
accountname=$1 
accountkey=$2 
............... 

次のスクリプトを使用してストレージキーを取得し、スクリプトに渡すことができます。

{ 
     "type": "Microsoft.Compute/virtualMachines/extensions", 
     "name": "[concat(variables('vmName'),'/', variables('extensionName'))]", 
     "apiVersion": "[variables('apiVersion')]", 
     "location": "[resourceGroup().location]", 
     "dependsOn": [ 
     "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" 
     ], 
     "properties": { 
     "publisher": "Microsoft.Azure.Extensions", 
     "type": "CustomScript", 
     "typeHandlerVersion": "2.0", 
     "autoUpgradeMinorVersion": true, 
     "settings": { 
      "fileUris": "[split(parameters('fileUris'), ' ')]", 
      "commandToExecute": "[concat('sh ', parameters('scriptName'), ' ' ,parameters('StorageAccountName''), ' ', listKeys(concat('Microsoft.Storage/storageAccounts/', variables('StorageAccountName')), 
     }, 

     } 
+0

こんにちは、私はそれについて考えていましたが、ソース管理下のファイルを使用するためにScript Extensionをどのように取得するかを試していました。 VSTSのリリースプロセスでは、スクリプトをストレージにコピーするタスクを追加することができましたが、最初に1つのテンプレートでストレージを作成してからスクリプトをコピーしてから、VMテンプレートを個別に実行する必要がありますVMテンプレートを使用すると、スクリプトは最初にソース管理から来たAzureストレージ上に存在します。 – Simon

+0

@Simonテンプレートを使用してソース管理からプライベートストレージアカウントにスクリプトをコピーしたいのですか?私の知る限り、テンプレートを使用するだけでは不可能です。カスタムスクリプト拡張を使用することができます。スクリプトをVHDにコピーします。この[テンプレート](https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-custom-image-new-storage-account/azuredeploy.json#L257)を確認することができます。 –

+0

はい、私はそれが不可能なので、私はタスクを持っている必要があると思います - a)ストレージのみを含むテンプレートを配備する、b)ストレージにスクリプト成果物をコピーする、c)VMを持つテンプレートとスクリプトを配備する私がVMのtempalteに以前のストレージの詳細を含める/参照することができると仮定して、aとbによって作成されたものを参照する拡張子...実験の時間! – Simon

関連する問題