파일 API에 어제 공지되지 않은 중단 시간 (ApiTemporaryUnavailableError)이 발생하여 몇 시간 동안 지속되었습니다.AppEngine 파일에서 cloudstorage로 마이그레이션
이제 (지금은 사용되지 않는) 파일 API를 cloudstorage (GCS)로 대체하려고하지만 여전히 파일 업로드 또는 다운로드와 같은 다른 작업을 위해 blobstore API를 계속 사용하려고합니다. 또한 파일 API로 작성된 기존 파일을 blobstore에 보관합니다.
주요 문제는 응용 프로그램이 나중에 MIME 유형, 파일 이름, 목록 모양을 결정하기 위해 BlobInfo를 사용한다는 것입니다. 그러나 문서에 따르면 GCS로 작성되고 blobstore.create_gs_key를 통해 blobstore에 삽입 된 파일에는 BlobInfo가 없습니다.
가능한 해결책은 무엇입니까?
- 구글 테이블 이외에 자신의 BlobInfo 데이터 테이블을 유지
- 멀리 GCS에 Blob 저장소에서 전체 코드베이스를 변환 (및 마이그레이션 (BlobInfo 또는 GCS 메타 데이터를 사용하거나 있음) 저장 중재자 쓰기 기존 BLOB를 GCS로)
- App Engine에 대해 잊어 버리고 Compute Engine 또는 EC2에서 독립 실행 형 응용 프로그램을 실행하십시오 (아래 참조)
- ???
참고 : Google에서 사용하는 App Engine API 부분 (우리는 dev server를 사용하지 않음)의 비공개 구현을 사용하는 응용 프로그램의 독립 실행 형 버전 (로컬로 실행 됨)이 있습니다. 우리의 응용 프로그램. 따라서 모든 코드에는 로컬 구현이 필요합니다.
확실히 답이 아니지만 파일 API가 백업되었음을 지적하는 것이 중요합니다. 뜻하지는 않지만 다시 돌아 가지는 않을 것이지만 이전 코드는 잠깐 동안 작동해야합니다. – Patrice
AppEngine을 계속 사용하려면 향후 코드를 GCS로 리팩터링하고 기존 BLOB를 GCS로 마이그레이션해야합니다 (예 : 모든 엔티티를 반복하고, 얼룩을 읽고, GCS에 쓰는 간단한 mapreduce). –