2012-03-20 78 views
6

我的backends.yamlGoogle App Engine和後端:如何在開發服務器上配置它?

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

app.yaml

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

配置運行它localy服務器上的發展中,我得到這個錯誤:

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

如何測試開發服務器上的後臺?

回答

6

我相信該網址應該是您網站的相對網址。該腳本應該是運行的python函數,而不是文件名。所以你的app.yaml應該是。

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

您的後端和前端實例共享相同的處理程序,因此無法區分它們。

+0

但是,引擎如何識別url'/ backend'應該作爲後端實例運行? – 2012-03-21 08:07:27

+3

如果您向http://mybackend.myapp.appspot.com/backend發出請求,它將運行在後端實例上。如果您向http://myapp.appspot.com/backend發出請求,它將在正常實例上運行並超時。這就是爲什麼你想要設置登錄名:admin(你正確的)。理論上,管理員只會在http://myapp.appspot.com/backend發出非後端請求,如果他們知道他們在做什麼。在您的/後端處理程序中,您可以檢測您是否實際在後端並採取適當的行動。查看後端API http://code.google.com/appengine/docs/python/backends/functions.html – dragonx 2012-03-21 14:57:11

+0

Thx,現在很明顯。我在這裏發佈問題之前,我已經正確地閱讀了文檔,但是現在我必須說它是非直觀地寫的(至少對我而言)。 – 2012-03-21 21:59:48

相關問題