2017-06-22 4 views
0

私の仕事では、私はローカルに永続化されたデータを使用しています。今まで私はPath.GetTempPath()を使って一時フォルダを取得し、そこにデータを保存して計算を実行しました。一時フォルダはシステムドライブに十分な大きさではありません(約30GB)。私は1000GBのHDDとVMを使用しています。AzureバッチタスクのローカルVMストレージ

大きなC:\ドライブにデータを書きたいのですが、アクセスしようとすると例外が発生します: Access to the path 'C:\whatever_the_path_is' is denied.

明らかに十分な権限を持っていないPoolNonAdmin[some-digits]ユーザーの下で実行されるタスクがあります。

Azureバッチタスクでローカルストレージを使用するための特別なAPIはありますか?

編集:私は%AZ_BATCH_NODE_SHARED_DIR%に精通していますが、具体的な理由から私は使用できません。

答えて

1

エフェメラルディスクを参照するパスに、Azureバッチ定義の環境変数を使用できます。たとえば、%AZ_BATCH_TASK_WORKING_DIR%は、現在のタスクの作業ディレクトリをターゲットにします(タスクが実行されているすべてのユーザーが書き込み可能です)。または、%AZ_BATCH_NODE_SHARED_DIR%変数は、常時ディスクに常駐する共有ディレクトリパスを参照します。すべてのユーザー(プール管理者、管理者でないユーザー、または一時的なタスクユーザー)がこのディレクトリに書き込むことができます。 Azure Batch hereで定義されているすべての環境変数を表示できます。私はここで解決策見つけた