데이터 저장소에 그림을 Blob 속성으로 저장하고 Blob 속성 만 사용하고 있습니다.Datastore에서 blob 속성을 이진 파일로 내보내기
이제 내 앱을 다른 플랫폼으로 마이그레이션하려고하며 그림을 JPEG 파일로 가져 오려고합니다. bulkloader 도구를 사용하거나 appengine이 제공하는 매퍼 도구를 사용하여이 작업을 수행 할 수 있습니까?
감사합니다.
업데이트
은 내가 blob_to_file이 도우미를 변환하지만, 그것이 작동하지 수 사용했습니다.
이
내 bulkloader.yaml 파일python_preamble:
- import: base64
- import: re
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.ext.db
- import: google.appengine.api.datastore
- import: google.appengine.api.users
transformers:
- kind: File
connector: csv
connector_options:
encoding: utf-8
columns: from_header
property_map:
- property: fileId
external_name: fileId
- property: bytes_content
external_name: local_filename
export_transform: transform.blob_to_file('fileId', 'pictures')
입니다 그리고 이것은 내 파일 모델 : 상기
appcfg.py download_data --application=XXXX --kind=File --url=XXXXX/_ah/remote_api --filename=File.csv --config_file=bulkloader.yaml
: 나는 다음과 같은 명령을 사용하여 bulkloader을 실행
class File(db.Model):
fileId = db.IntegerProperty()
bytes_content = db.BlobProperty()
다운로드가 끝나면 큰 바이너리 파일이고 폴더 사진은 비어 있습니다. 도움 주셔서 감사합니다.
감사합니다. schuppe! 내가 연결 한 문서를 읽었습니다. http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/bulkload에서 찾은 것으로 보이는 벌크 로더 소스 코드에서 헬퍼 함수를 발견했습니다. /transform.py#318 어떻게 사용하는지 모르겠습니다. –