Azure Functions Temp 저장소
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());
대신에, 우리는 사용할 수 있습니다.System.IO.Path.GetTempFileName()
전체 경로와 고유한 파일 이름을 반환하기 전에 파일을 추가로 만듭니다.
저는 더 나은 선택을 합니다.사용할 수 있습니다.System.IO.Path.GetTempFileName()
이것은 a를 만듭니다.%userprofile%\Local\Temp\tmpE128.tmp
파일
예외에 따르면, 다음과 같이 보입니다.D:\home\data\temp\
함수 프로젝트에 없습니다.Azure Kudu 툴(https://yourwebsiteName.scm.azurewebsites.net )로 확인해 보세요.경로가 존재하지 않으면 임시 폴더를 추가한 후 다시 시도하십시오.
Azure Web App 샌드박스에서 Azure Web App에 대한 자세한 정보를 얻을 수 있습니다.zure의 파일 구조에 대한 자세한 내용은 이 문서를 참조하십시오.
GetTempPath는 Azure 함수에서 만든 임시 파일에 사용할 수 있는 로컬 파일 시스템의 디렉터리 경로를 반환합니다.속도는 빠르지만 기능에 사용할 수 있는 공간이 많지 않습니다.
HOME 환경 변수는 매핑된 네트워크 드라이브를 가리킵니다.Azure Function에서도 읽기/쓰기가 가능하지만 이 드라이브는 Azure Blob Storage 계정에 매핑되므로 GetTempPath 디렉터리보다 훨씬 느립니다.HOME 디렉토리에 사용 가능한 공간이 훨씬 더 많습니다.
언급URL : https://stackoverflow.com/questions/46294790/azure-functions-temp-storage
'programing' 카테고리의 다른 글
문자의 첫 번째 항목을 기준으로 문자열 분할 (0) | 2023.04.26 |
---|---|
오류: iOS9에서 _실행되지 않는 특정 작업 처리 (0) | 2023.04.26 |
엔티티 프레임워크 컨텍스트 새로 고침? (0) | 2023.04.26 |
WPF 응용 프로그램에서 FolderBrowserDialog를 사용하는 방법 (0) | 2023.04.26 |
주피터 노트북에서 env 변수 설정 방법 (0) | 2023.04.26 |