Câu hỏi Làm thế nào để tạo bản sao cục bộ của kho dữ liệu GAE?


Tôi muốn tạo phiên bản ứng dụng GAE của khách hàng lưu trữ dữ liệu chính xác của phiên bản trực tuyến. (Myapp.appspot.com) Nếu tôi có thể sử dụng sdk thay thế, có bất kỳ thư viện hoặc công cụ nào để đồng bộ hóa phiên bản trực tuyến và sdk không? Tôi thử sử dụng trình tải hàng loạt nhưng tôi không thể tải dữ liệu đã tải xuống SDK cục bộ? Hãy giúp tôi.


22
2018-04-19 22:52


gốc




Các câu trả lời:


Xem tài liệu để biết chi tiết về cách tải xuống và tải lên toàn bộ kho dữ liệu của bạn. Chỉ cần tải xuống hàng loạt từ quá trình sản xuất, sau đó tải lên hàng loạt vào kho dữ liệu cục bộ của bạn.

Tuy nhiên, hãy nhớ rằng kho dữ liệu cục bộ không được thiết kế để xử lý khối lượng lớn dữ liệu - bạn có thể gặp phải các vấn đề về hiệu suất hoặc bộ nhớ.


15
2018-04-20 09:42



Cảm ơn Nick, nơi tôi có thể hiểu rõ hơn về cách tải lên hàng loạt dữ liệu cục bộ? Thực sự cần phải làm công việc này cho tôi. - Ivan Slaughter
Xem phần 'tải dữ liệu vào máy chủ phát triển' trên trang đó. Bạn chỉ cần chỉ định một đối số dòng lệnh bổ sung. - Nick Johnson
Dù sao, Nick .. Tôi đã cài đặt 1.3.3 sdk và gặp một số lỗi của bulkload khoảng 6000 hồ sơ, mà dừng lại trên kỷ lục 145. Và ngoại lệ ném khi tôi muốn sử dụng kho dữ liệu xem trên giao diện điều khiển SDK địa phương. Chuyện gì vậy? - Ivan Slaughter
Tôi không thể nói trừ khi bạn nói cho tôi biết lỗi là gì và stacktrace là gì. - Nick Johnson


Như đã giải thích trong bài viết này (liên kết được cập nhật, nhờ Zied Hamdi)

Bạn chỉ cần bật api từ xa

builtins:
- remote_api: on

Cập nhật ứng dụng của bạn, sau đó chạy các lệnh sau:

appcfg.py download_data -A s~YOUR_APP_NAME --url=http://YOUR_APP_NAME.appspot.com/_ah/remote_api/ --filename=data.csv
appcfg.py --url=http://localhost:8080/_ah/remote_api/ --filename=data.csv upload_data .

Chỉnh sửa sau ngày 12 tháng 4 năm 2016 trên SDK AppEngine mới nhất:

Các tác phẩm trên cho SDK phiên bản 1.9.0 trở về trước. Tuy nhiên với khấu hao của ClientLogin, ở trên sẽ gây ra lỗi

03:13 PM Uploading data records.
[INFO    ] Logging to bulkloader-log-20160909.151355
[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-20160909.151355.sql3
2016-09-09 15:13:55,175 INFO client.py:578 Refreshing due to a 401 (attempt 1/2)
2016-09-09 15:13:55,176 INFO client.py:804 Refreshing access_token
2016-09-09 15:13:55,312 INFO client.py:578 Refreshing due to a 401 (attempt 2/2)

Được đề xuất bởi Anssi tại đây, chúng tôi có thể sử dụng máy chủ API trực tiếp mà không cần phải gặp lỗi này. Đối với một khởi động dev_appserver điển hình, bạn nhận được kết quả sau

INFO     2016-09-09 19:27:11,662 sdk_update_checker.py:229] Checking for updates to the SDK.
INFO     2016-09-09 19:27:11,899 api_server.py:205] Starting API server at: http://localhost:52497
INFO     2016-09-09 19:27:11,905 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO     2016-09-09 19:27:11,918 admin_server.py:116] Starting admin server at: http://localhost:8000

thay vì ở trên để tải lên, sử dụng cổng API, trong trường hợp này

appcfg.py --url=http://localhost:52497/_ah/remote_api/ --filename=data.csv upload_data .

29
2017-10-30 11:31



Để có được điều này để làm việc cục bộ cho tôi, tôi cũng cần thêm -A dev ~ YOUR_APP_NAME vào tùy chọn upload_data. - ahanson
Tôi nhận được lỗi sau khi thực hiện bước upload_data: 'google.appengine.api.datastore_errors.BadRequestError: ứng dụng "dev ~ my_app_name" không thể truy cập dữ liệu của ứng dụng "my_app_name". Tôi đã giải quyết vấn đề này bằng cách xóa '.' ở cuối dòng. Vì vậy, tôi đã viết: appcfg.py --url =localhost: 8080 / _ah / remote_api --filename = data.csv upload_data - Martin Sherburn
Đây có phải là chỉ cho các ứng dụng python? - morpheus05
Phiên bản SDK 1.9.0> đã ngừng sử dụng ClientLogin kể từ ngày 4 tháng 4 năm 2016, dẫn người dùng sử dụng giải pháp trên để nhận lỗi mã thông báo truy cập của Refreshing due to a 401 (attempt 2/2) . Có hai giải pháp, sử dụng phiên bản SDK cũ hơn 1.9.0 hoặc trước hoặc sử dụng chi tiết sau đây sử dụng cổng API chứ không phải cổng máy chủ quản trị nghĩa là - appcfg.py url=http://localhost:49658/_ah/remote_api/ thay thế code.google.com/p/googleappengine/issues/detail?id=12445 - stanzheng


Vị trí bài viết đã thay đổi, tôi tìm thấy nó ở đây: http://mbrochh.tumblr.com/post/6937702727/importing-google-app-engine-datastore-into-your-local


2
2018-02-06 15:58



Liên kết bị hỏng - jh314
ok, xin lỗi tôi không thể làm bất cứ điều gì cho bạn bây giờ, tôi đang ở trên một đống công nghệ hoàn toàn khác nhau stoday - Zied Hamdi