0

appcfg.py を使用して、csv ソース ファイルから appengine にデータを一括アップロードしています。csv ファイルの 1 つのフィールドのデータ値の長さが 500 Unicode 文字を超えています。

appcfg upload-command を実行すると、以下のログが生成されます:-

[情報] データベースを開いています: bulkloader-progress-20121101.024343.sql3

[情報] xxxxxxx.appspot.com/remote_api に接続しています

[情報] インポートを開始しています。投稿ごとに最大 10 個のエンティティ

.

[情報] 合計 1 エンティティ、以前に転送されたエンティティは 0

[情報] 15.5 秒で 1 つのエンティティ (3590 バイト) が転送されました

[情報] すべてのエンティティが正常に転送されました

実行後、appengine ダッシュボードの Datastore Viewer に、値の長さが 500 Unicode 文字を超えるフィールドの値が表示されません。

csvソースファイルから500 Unicode文字を超える長さの値を持つデータを一括アップロードするために多くのグーグル検索を行いましたが、成功しませんでした。

編集1:-

見つかったText string (long) com.google.appengine.api.datastore.Text None

Up to 1 megabyte Not indexed

https://developers.google.com/appengine/docs/java/datastore/entities

しかし、csvソースファイルからデータを一括アップロードするためにこれを使用する方法がわかりません。

4

2 に答える 2

0

文字列フィールドの制限は500文字です。テキストまたはBLOBフィールドでない限り、500を超えるものはすべて切り捨てられます。

于 2012-11-06T06:16:59.853 に答える
0

プロパティで タグを使用してexport_transform、bulkloader.yaml ファイルでテキストに変換します。

Uploading Dataドキュメントから:

import_transform

external_name または import_template 文字列に基づいて正しい値と型データを返す単一引数関数。例には、組み込みの Python 変換演算子 (float など)、変換で提供されるいくつかのヘルパー関数 (get_date_time や generate_foreign_key など)、独自のライブラリで提供される関数、インライン ラムダ関数などがあります...

...

export_transform

エクスポート時に実行されることを除いて、import_transform と同様です。

これにより、アップロード前にデータをテキストに変換する機能をセットアップして、問題を解決できます。

于 2012-11-05T13:53:51.353 に答える