gpt4 book ai didi

python - 使用开发服务器的 Appengine BulkLoader 问题

转载 作者:太空狗 更新时间:2023-10-30 00:37:13 26 4
gpt4 key购买 nike

我正在做一些应该很简单的事情,却一遍又一遍地卡住了。将非常简单的 csv 文件上传到我的开发服务器时出现此错误:

Error in WorkerThread-0: app "dev~fbdec" cannot access app "fbdec"'s data

确切的输出是:

[INFO    ] Logging to bulkloader-log-20110815.142554
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20110815.142554.sql3
Please enter login credentials for localhost
Email: a@a.com
Password for a@a.com:
[INFO ] Connecting to localhost:8080/remote_api
[INFO ] Skipping header line.
[INFO ] Starting import; maximum 10 entities per post
[ERROR ] [WorkerThread-0] WorkerThread:
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/adaptive_thread_pool.py", line 176, in WorkOnItems
status, instruction = item.PerformWork(self.__thread_pool)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 764, in PerformWork
transfer_time = self._TransferItem(thread_pool)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 935, in _TransferItem
self.request_manager.PostEntities(self.content)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 1418, in PostEntities
datastore.Put(entities)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py", line 467, in Put
return PutAsync(entities, **kwargs).get_result()
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 658, in get_result
results = self.__rpcs[0].get_result()
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result
return self.__get_result_hook(self)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1385, in __put_hook
self.check_rpc_success(rpc)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1074, in check_rpc_success
raise _ToDatastoreError(err)
BadRequestError: app "dev~fbdec" cannot access app "fbdec"'s data
[INFO ] An error occurred. Shutting down...
[ERROR ] Error in WorkerThread-0: app "dev~fbdec" cannot access app "fbdec"'s data
[INFO ] 2 entities total, 0 previously transferred
[INFO ] 0 entities (723 bytes) transferred in 7.9 seconds
[INFO ] Some entities not successfully transferred

这是 app.yaml 文件:

application: fbdec
version: 1
runtime: python
api_version: 1

handlers:
- url: /static
static_dir: static

- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin

- url: /.*
script: fbdec.py

这是执行上传的 shell 调用:

appcfg.py upload_data --config_file=fbdec/fbuploader.py --filename=cols.csv --kind=Cols --has_header --num_threads=1 --url=http://localhost:8080/remote_api fbdec/

这是上传代码:

import cgi
import datetime
import logging
import os

import datetime
from google.appengine.ext import db
from google.appengine.tools import bulkloader
from os import environ


class Grobs(db.Model):
coleccion = db.TextProperty()
objeto= db.TextProperty()
descripcion = db.TextProperty()

class GrobLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'Grobs',
[('coleccion', str),
('objeto', str),
('descripcion', str)
])

class Cols(db.Model):
coleccion = db.TextProperty()
descripcion= db.TextProperty()

class ColLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'Cols',
[('coleccion', str),
('descripcion', str)
])

loaders = [GrobLoader, ColLoader]

这是 cols.csv 文件:

coleccion,descripcion
gafas,descripcion
sombreros,descripcion

我们非常欢迎任何帮助。我不知道我做错了什么。

我在 Mac Osx Leopard 上使用 Appengine 1.5.2。我已经尝试了 python 2.5.4 和 2.6.6(以防万一)。

在此先致谢并致以最诚挚的问候!

最佳答案

启动 dev_appserver 时,传递 --default_partition="" 参数。

关于python - 使用开发服务器的 Appengine BulkLoader 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com