2

ストレージ アカウントから、ARM テンプレートを使用して作成されている VM にファイルをコピーしようとしていますか?

既にストレージ アカウントを作成し、ストレージ アカウントにファイルを追加しました。テンプレートの作成で忙しいのですが、VirtualMachine の作成時に作成される OSDisk にストレージ アカウントからファイルをコピーするオプションが表示されません。

更新 私が達成したいことの背景を説明する必要があると感じています:

  1. ARM deploy.json と parameters.json を作成したい
  2. 上記の JSON を使用して、Azure Java SDK を使用して Azure で VM を作成したいと考えています。
  3. JSON では、docker 拡張機能を使用して docker コンテナーを構築します。
  4. Docker コンテナーは DockerHub のベース イメージを使用し、DockerExtension でサポートされている構成を使用してカスタマイズされます。
  5. カスタム Docker コンテナーをビルドするときに、Docker 拡張機能がこれらのファイルを Docker Compose の一部として使用できるように、ストレージ アカウントから特定のファイルをコピーする必要があります。
  6. Java SDK は、Azure Java SDK の parameters.json を生成するユーザー入力に基づいて特定の決定を行います。

したがって、これに基づいて、azure docker 拡張機能を実行する前に、何らかの方法でファイルをストレージから VM にコピーする必要があります。

4

2 に答える 2

3

これを実現する 1 つの方法は、VM に追加されるカスタム スクリプト拡張機能を使用することです。これにより、デプロイ時に VM 上で実行される PowerShell スクリプトを実行できます。Visual Studio の JSON アウトライン ウィンドウで、[リソースの追加] をクリックします。

リソースを追加

次に、カスタム スクリプト拡張機能を追加し、それを VM にリンクします。

カスタム スクリプト拡張機能を追加する

これにより、プロジェクトで新しく作成されたカスタム スクリプト フォルダーに空白の PowerShell スクリプトが追加されます。ここにスクリプトを配置して、blob からファイルをダウンロードできます。このように。

于 2016-04-05T16:22:19.090 に答える
1

DSC を使用して実行する場合は、次のサンプルがあります: https://github.com/bmoore-msft/AzureRM-Samples/tree/master/VMDSCInstallFile。ただし、エドの答えはより単純なアプローチかもしれません。ここで重要なのは、VM への資格情報を取得して、ストレージからプルできるようにすることです。つまり、DSC を使用しているか、カスタム スクリプトを使用しているかに関係なく、場所/uri と sasToken をスクリプトに取得する必要があります (ファイルがセキュリティで保護されていない場合を除く)。上記の DSC サンプルは、どちらのワークフローでも機能する uri/token を渡す方法を提供します。ルートの PS スクリプトを見て、URI とトークンがどのように作成され、テンプレートのデプロイに渡されるかを確認します。

于 2016-04-08T15:14:42.333 に答える