2011-11-03 30 views
8

Tôi đang cố gắng để tải dữ liệu từ ứng dụng Google App Engine của tôi, sử dụng the official instructionsGAE dữ liệu tải cho thấy datastore_errors.BadRequestError

API từ xa được thiết lập & tôi gọi:

appcfg.py download_data --application=appname --url=http://app.address.com/_ah/remote_api --filename=alldata.csv 

Kết nối được thiết lập , Tôi được yêu cầu gửi e-mail & mật khẩu e-mail của mình và sau đó một dấu vết dài xuất hiện kết thúc với điều này:

google.appengine.api.datastore_errors.BadRequestError: app s~appname cannot access app appname's data

Bất kỳ ý tưởng?

+0

Bạn theo nghĩa đen có chuyển "application = appname" hoặc bạn đã xóa ID ứng dụng của mình khỏi lệnh và lỗi không? –

+0

Tôi đang chuyển id ứng dụng của mình :) Nhưng tôi đã tìm thấy giải pháp đã có - tên máy chủ đã sai ... – kolinko

Trả lời

25

Nếu sử dụng kho dữ liệu sao chép cao, hãy thay đổi giá trị được chuyển đến - ứng dụng từ appname thành s~appname.

+0

Điều này đã khắc phục được sự cố của tôi. Bạn có thể giải thích lý do tại sao vượt qua s ~ là cần thiết cho kho dữ liệu sao chép cao? – LuxuryMaster

0

Đã tìm thấy sự cố - dưới dạng URL tôi đã đặt tên miền của ứng dụng của riêng mình thay vì 1.appname.appspot.com.

0

Tôi đã gặp phải vấn đề tương tự, nhưng khi cố gắng sử dụng API từ xa từ tập lệnh tùy chỉnh thay vì trình tải xuống hàng loạt của appcfg.py.

Sự cố này có thể đã được giải quyết trong các bản phát hành GAE SDK gần đây hơn, nhưng vì nhiều lý do khác nhau, tôi vẫn đang sử dụng bản phát hành 1.7 cũ hơn. Tôi tìm thấy câu trả lời trong báo cáo lỗi này: https://code.google.com/p/googleappengine/issues/detail?id=4374

Về cơ bản, khi gọi ConfigureRemoteApi, không chỉ định đối số APP_ID (chỉ vượt qua Không) và chỉ định ID ứng dụng của bạn thông qua đối số lưu trữ, ví dụ: 'myapp-hrd.appspot.com'. ConfigureRemoteApi sẽ tìm ra ID ứng dụng của bạn một cách chính xác và sẽ không thêm 's ~' gây ra vấn đề này.

Các vấn đề liên quan