Có vẻ như gae gán ID rất cao cho các mô hình. Khi tôi tải xuống các thực thể của mình, tôi nhận được một số mục rất lớn. Đây là những autogenerated ở nơi đầu tiên. Tải xuống chúng dưới dạng csv không có vấn đề gì. Nhưng xóa dữ liệu hiện có và tải lên lại cùng một dữ liệu sẽ ném một ngoại lệ.GAE: Đã vượt quá số ID được cấp tối đa
Exceeded maximum allocated IDs
Trace:
Traceback (most recent call last):
File "/opt/eclipse/plugins/org.python.pydev_2.7.5.2013052819/pysrc/pydevd.py", line 1397, in <module>
debugger.run(setup['file'], None, None)
File "/opt/eclipse/plugins/org.python.pydev_2.7.5.2013052819/pysrc/pydevd.py", line 1090, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "/home/kave/workspace/google_appengine/appcfg.py", line 171, in <module>
run_file(__file__, globals())
File "/home/kave/workspace/google_appengine/appcfg.py", line 167, in run_file
execfile(script_path, globals_)
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 4247, in <module>
main(sys.argv)
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 4238, in main
result = AppCfgApp(argv).Run()
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 2396, in Run
self.action(self)
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 3973, in __call__
return method()
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 3785, in PerformUpload
run_fn(args)
File "/home/kave/workspace/google_appengine/google/appengine/tools/appcfg.py", line 3676, in RunBulkloader
sys.exit(bulkloader.Run(arg_dict))
File "/home/kave/workspace/google_appengine/google/appengine/tools/bulkloader.py", line 4379, in Run
return _PerformBulkload(arg_dict)
File "/home/kave/workspace/google_appengine/google/appengine/tools/bulkloader.py", line 4244, in _PerformBulkload
loader.finalize()
File "/home/kave/workspace/google_appengine/google/appengine/ext/bulkload/bulkloader_config.py", line 384, in finalize
self.increment_id(high_id_key)
File "/home/kave/workspace/google_appengine/google/appengine/tools/bulkloader.py", line 1206, in IncrementId
unused_start, end = datastore.AllocateIds(high_id_key, max=high_id_key.id())
File "/home/kave/workspace/google_appengine/google/appengine/api/datastore.py", line 1965, in AllocateIds
return AllocateIdsAsync(model_key, size, **kwargs).get_result()
File "/home/kave/workspace/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 612, in get_result
return self.__get_result_hook(self)
File "/home/kave/workspace/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1863, in __allocate_ids_hook
self.check_rpc_success(rpc)
File "/home/kave/workspace/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1236, in check_rpc_success
raise _ToDatastoreError(err)
google.appengine.api.datastore_errors.BadRequestError: Exceeded maximum allocated IDs
thường của Id của tôi là xung quanh 26002
nhưng id mới từ cách đây vài ngày là lớn như 4948283361329150
. Đây là những vấn đề gây ra ngay bây giờ. (Nếu tôi thay đổi chúng thành giá trị thấp hơn, tất cả đều ổn, nhưng tôi không tạo ra các id này ở vị trí đầu tiên) Tại sao GAE lại có vấn đề như vậy với các id được tạo riêng của nó?
Rất cám ơn
bạn có thể làm rõ vài điểm: 1, bạn đang xuất dữ liệu cùng với '_key_' và sau đó trước khi nhập dữ liệu này trở lại công cụ ứng dụng, bạn đang xóa dữ liệu công cụ ứng dụng hiện có và sau đó sử dụng id được lưu trong csv để thêm lại dữ liệu đã sửa đổi? 2, bạn đang sử dụng biến đổi nhập khẩu: 'transform.create_foreign_key (Kind)'? –
hi tony, vâng tôi đang xuất dữ liệu cùng với khóa và trước khi nhập dữ liệu trở lại gae, tôi xóa dữ liệu hiện có bằng cách sử dụng id được lưu trong csv (được sản xuất bởi gae ở vị trí đầu tiên). – Houman