Azure FunctionsディレクトリのTempストレージにファイルを保存しようとすると(D:\home\data\temp\response.pdf
)、次のエラーが発生します。このディレクトリに書き込めないのはなぜですか?
mscorlib: Exception has been thrown by the target of an invocation. System: An exception occurred during a WebClient request. mscorlib: ***Could not find a part of the path 'D:\home\data\temp\response.pdf'.***
2017-09-19T07:05:24.353 Function completed (Failure, Id=3aa4b740-ba8a-465c-ad7c-75b38fa2a472, Duration=334ms)
2017-09-19T07:06:31 No new trace in the past 1 min(s).
System.IO.Path.GetTempPath()
を使用することをお勧めします。これにより、特定のシステムに対して常に有効なパスが提供されます。
さらに、関数は特定のインスタンスに対して同時に複数回実行される可能性があるため、実行ごとに一意のパスがあることを確認することをお勧めします。簡単な例を次に示します。
var tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
例外によると、D:\home\data\temp\
は関数プロジェクトに存在しません。 Azure Kuduツール( https://yourwebsiteName.scm.azurewebsites.net )で確認してみてください。パスが存在しない場合は、一時フォルダーを追加して再試行してください。
Azure WebAppに関する詳細は、 Azure Web Appサンドボックス から取得できます。 Azureのファイル構造の詳細については、こちらを参照してください ドキュメント 。