- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想问一下,使用 Google App Engine BulkLoader 类导入数据需要提供哪种凭证
appcfg.py upload_data --config_file=models.py --filename=listcountries.csv --kind=CMSCountry --url=http://localhost:8178/remote_api vit/
然后它要求我提供凭据:
Please enter login credentials for localhost
这是 models.py 内容的提取,我使用这个 listcountries.csv文件
class CMSCountry(db.Model):
sortorder = db.StringProperty()
name = db.StringProperty(required=True)
formalname = db.StringProperty()
type = db.StringProperty()
subtype = db.StringProperty()
sovereignt = db.StringProperty()
capital = db.StringProperty()
currencycode = db.StringProperty()
currencyname = db.StringProperty()
telephonecode = db.StringProperty()
lettercode = db.StringProperty()
lettercode2 = db.StringProperty()
number = db.StringProperty()
countrycode = db.StringProperty()
class CMSCountryLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'CMSCountry',
[('sortorder', str),
('name', str),
('formalname', str),
('type', str),
('subtype', str),
('sovereignt', str),
('capital', str),
('currencycode', str),
('currencyname', str),
('telephonecode', str),
('lettercode', str),
('lettercode2', str),
('number', str),
('countrycode', str)
])
loaders = [CMSCountryLoader]
每次尝试输入电子邮件和密码都会导致“身份验证失败”,因此我无法将数据导入开发服务器。
我认为我的文件和模型都没有任何问题,因为我已成功将数据上传到 appspot.com 应用程序。
那么我应该为本地主机凭据输入什么?
我还尝试将 Eclipse 与 Pydev 一起使用,但我仍然收到相同的消息:(
这是输出:
Uploading data records.
[INFO ] Logging to bulkloader-log-20090820.121659
[INFO ] Opening database: bulkloader-progress-20090820.121659.sql3
[INFO ] [Thread-1] WorkerThread: started
[INFO ] [Thread-2] WorkerThread: started
[INFO ] [Thread-3] WorkerThread: started
[INFO ] [Thread-4] WorkerThread: started
[INFO ] [Thread-5] WorkerThread: started
[INFO ] [Thread-6] WorkerThread: started
[INFO ] [Thread-7] WorkerThread: started
[INFO ] [Thread-8] WorkerThread: started
[INFO ] [Thread-9] WorkerThread: started
[INFO ] [Thread-10] WorkerThread: started
Password for foobar@nowhere.com: [DEBUG ] Configuring remote_api. url_path = /remote_api, servername = localhost:8178
[DEBUG ] Bulkloader using app_id: abc
[INFO ] Connecting to /remote_api
[ERROR ] Exception during authentication
Traceback (most recent call last):
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\tools\bulkloader.py", line 2802, in Run
request_manager.Authenticate()
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\tools\bulkloader.py", line 1126, in Authenticate
remote_api_stub.MaybeInvokeAuthentication()
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py", line 488, in MaybeInvokeAuthentication
datastore_stub._server.Send(datastore_stub._path, payload=None)
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\tools\appengine_rpc.py", line 344, in Send
f = self.opener.open(req)
File "C:\Python25\lib\urllib2.py", line 381, in open
response = self._open(req, data)
File "C:\Python25\lib\urllib2.py", line 399, in _open
'_open', req)
File "C:\Python25\lib\urllib2.py", line 360, in _call_chain
result = func(*args)
File "C:\Python25\lib\urllib2.py", line 1107, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "C:\Python25\lib\urllib2.py", line 1082, in do_open
raise URLError(err)
URLError: <urlopen error (10061, 'Connection refused')>
[INFO ] Authentication Failed
谢谢!
最佳答案
EUREKA:我找到了无需手动输入登录凭据即可使用 bulkloader.py
工具的方法。
这里有两个步骤:
设置您的 app.yaml
文件。示例:
- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin
你应该把它放在 app.yaml
中的 - url: .*
行之前,否则你将永远无法访问 /remote_api
url .
请注意,我已经离开了 login: admin
部分,因为删除它是一种非常糟糕的做法,因为您可能会将其部署到生产中...
2 启动此命令(根据您的需要进行调整)。
echo 'XX' | python2.5 ../google_appengine/bulkloader.py --dump --kind=NAMEOFMODEL --url=http://localhost:8080/remote_api --filename=FILENAME --app_id=APPID --email=foobar@nowhere.com --passin .
诀窍是使用这两个参数的组合:
--email=
(你可以输入任何你想要的电子邮件地址,我使用foobar@nowhere.com
)--passin
指定 --email=
将抑制“输入凭据”提示,而 --passin
将允许从 stdin
读取密码(这就是 echo 'XX' |
发挥作用的地方!)
尽情享受吧!
P.S.:不要忘记投票,以便 Google 可以提供一种更易于使用的方式来做到这一点:Issue 2440 .
关于python - 我应该在开发服务器上为 Google App Engine BulkLoader 输入哪些凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1260835/
我有一个问题,我不断收到错误 没有为“svn.ssl.server”凭据注册的提供者 我正在使用在另一台 SVN 服务器上工作的相同代码,但我设置的新服务器似乎无法连接,即使我可以通过 Web 浏览器
如何通过 shell 在 Hudson 中输入 subversion 凭据? 我尝试在 HUDSON_HOME 中生成文件 hudson.scm.SubversionSCM.xml 并重新加载配置,但
我正在尝试使用 powershell 访问远程注册表,如下所示: $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachi
我需要将凭据存储在 powershell 中以便多次使用。 StackOverflow 上有很多例子,所以我拿了一个 $tmpCred = Get-Credential $tmpCred.Passwo
我遇到了 youtube java 凭据的问题,通常它运行良好并且我能够上传到 youtube,但今天我收到此异常无效的凭据。 YouTubeService service = new YouTube
我正在阅读中提供的 Hadoop 凭证文档 https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Crede
我想知道在为 MySQL 凭据/主机创建变量时最佳做法或建议做什么。 define('HOST', 'localhost'); // etc.. mysql_connect(HO
我试图让 Jenkins 从 BitBucket 克隆我的 mercurial 项目。它不会,因为它说凭据有问题 - 好吧,bitbucket 拒绝 Jenkins 提供的任何内容。 我几乎 100%
这里有一百万篇关于如何使用 git 缓存凭据的帖子。但是,如果机器重新启动,它们似乎都不成立。有没有办法缓存在机器重新启动时持续的凭据? 最佳答案 是的,在 Debian 和 Ubuntu 上,您可以
我正在尝试在我的环境中为 IIS 节点使用共享配置,我想使用组托管服务帐户凭据来实现这一目标。 当我将应用程序池的凭据应用为 MyDomain\GmsaAccount$ 时,它运行良好,但是当我尝试在
我创建了一个应用程序,它充当 2 个不同 API(WebEx 和 Exchange Web 服务)和电子邮件之间的桥梁。用户向一个特殊的电子邮件地址发送日历邀请,该应用程序解析 ICS 并创建一个 W
我正在尝试将凭据从 Jenkins 迁移到另一个凭据存储。 我想从 Jenkins 商店读取凭据,并找到了这个脚本 ( https://github.com/tkrzeminski/jenkins-g
我有一个在 Windows 上运行的 Jenkins 服务器。它将用户名:密码存储在凭据插件中。这是一个定期更新密码的服务用户。 我正在寻找一种运行脚本的方法,最好是 Powershell,它将更新
我想知道如何创建 Jenkins 和 Jenkins 中运行的作业可以使用的凭据以连接到 3rd 方服务。 最佳答案 您应该指定您将使用的第 3 方服务。 以下是带有 的凭据示例bitbucket 我
我正在一个网站上工作,我们希望使用 Spring Security Kerberos 使用 Kerberos 身份验证。所以,我们不支持 NTLM。当用户发出未经身份验证的请求时,服务器将回复带有 h
如果我设置 git config --global credential.username my_username 选项,然后使用 --local 选项覆盖一个存储库,这并没有什么区别 - 它在尝试提
我正在尝试使用需要 gce_client_id 和 gce_client_secret key 的第 3 方应用程序。为了生成它们,我浏览了凭据图标并尝试创建一个 OAuth 2.0 客户端 ID。但
我在使用 Azure 时遇到身份验证问题。我有一个运行 powershell 脚本的连续构建服务器,我收到如下消息: Your Azure credentials have not been set
首先,我想说我在安全和身份验证方面的知识非常有限。 我有一个应用程序可以从 docker store 中提取和运行容器。这是一个私有(private)仓库,所以我需要传递用户名和密码,以便用户可以拉取
我使用 Google 文档中的代码(如下所示)来管理 Google 日历。 public class CalendarQuickstart { private static final Str
我是一名优秀的程序员,十分优秀!