2012-03-20 32 views
6

cấu hình của tôi về backends.yamlGoogle App Engine và các chương trình phụ trợ: cách định cấu hình trên máy chủ phát triển?

backends: 
- name: mybackend 
    class: B1 
    instances: 1 
    options: dynamic 

app.yaml

handlers: 
- url: http://mybackend.myapp.appspot.com 
    script: mybackend.py 
    login: admin 

Chạy nó localy phát triển máy chủ tôi nhận được lỗi này:

Unable to assign value 'http://mybackend.myapp.appspot.com' to attribute 'url': Value 'http://mybackend.myapp.appspot.com' for url does not match expression '^(?!\^)/|.|((.).*(?!\$).$'

Làm thế nào tôi có thể kiểm tra phụ trợ trên máy chủ phát triển?

Trả lời

6

Tôi tin rằng url phải là url tương đối từ trang web của bạn. Tập lệnh phải là hàm python chạy, không phải tên tệp. Vì vậy, app.yaml của bạn nên được.

handlers: 
- url: /backend 
    script: mybackend.myfunction 
    login: admin 

Trường hợp phụ trợ và giao diện người dùng chung của bạn có cùng trình xử lý, không có cách nào để phân biệt chúng.

+0

Nhưng cách công cụ nhận ra rằng url '/ backend' sẽ được chạy dưới dạng phiên bản phụ trợ? –

+3

Nếu bạn yêu cầu http://mybackend.myapp.appspot.com/backend, nó sẽ chạy trên phiên bản phụ trợ. Nếu bạn yêu cầu http://myapp.appspot.com/backend, nó sẽ chạy trên một phiên bản và thời gian thông thường. Đó là lý do tại sao bạn muốn thiết lập đăng nhập: admin (mà bạn đã làm đúng). Về lý thuyết, quản trị viên sẽ chỉ thực hiện yêu cầu không phụ trợ tại http://myapp.appspot.com/backend nếu họ biết họ đang làm gì. Trong trình xử lý/backend của bạn, bạn có thể phát hiện xem bạn có đang thực sự trên một chương trình phụ trợ và hành động phù hợp hay không. Xem API phụ trợ http://code.google.com/appengine/docs/python/backends/functions.html – dragonx

+0

Thx, bây giờ là rõ ràng. Tôi đọc đúng tài liệu trước khi tôi đăng câu hỏi ở đây, tuy nhiên ngay cả bây giờ tôi phải nói rằng nó được viết không trực giác (ít nhất là đối với tôi). –

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