我將圖片存儲爲數據存儲中的Blob屬性,我沒有使用Blobstore,只是使用Blob屬性。從數據存儲導出blob屬性爲二進制文件
現在我想將我的應用程序遷移到不同的平臺,並且想將圖片作爲JPEG文件提取出來。有沒有辦法使用bulkloader工具或使用appengine提供的mapper工具?
謝謝!
更新
我嘗試使用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')
這是我的文件模式:
class File(db.Model):
fileId = db.IntegerProperty()
bytes_content = db.BlobProperty()
我運行以下命令bulkloader:
appcfg.py download_data --application=XXXX --kind=File --url=XXXXX/_ah/remote_api --filename=File.csv --config_file=bulkloader.yaml
在我下載的所有內容都是一個大的二進制文件,文件夾圖片是空的。 感謝您的幫助!
感謝schuppe!我一直在閱讀你鏈接的文檔。我還在bulkloader源代碼中找到了一個幫助函數,它似乎是我正在尋找的內容:http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/bulkload /transform.py#318 雖然我不確定如何使用它。 – 2012-02-29 23:33:53