在Google Endpoint中定义任务队列处理程序

时间:2014-07-22 10:25:02

标签: google-cloud-endpoints task-queue

我在Python中使用Google Endpoint。 现在我想添加推送队列,但我不希望任何人有权触发此队列。 例如,我在用户调用一个api时创建一个队列。

  

endpoints.method(..,path='conference',http_method='POST',name='createConference') def createConference(self, request): ... taskqueue.add(url="/task/sendEmail", params={"conference": conference})       ...   现在,我如何定义此队列的处理程序,没有人可以通过api调用它?   我被困在这里好几天了,请给我一些提示,指导我出去。   感谢

1 个答案:

答案 0 :(得分:0)

您的终结点方法可受restricting the users that can call the API

保护
endpoints.get_current_user()

限制直接调用推送队列,Google's Push Queue doc says,"您可以通过限制对管理员帐户的访问来阻止用户访问任务的URL。任务队列可以访问仅限管理员的URL。您可以通过将login:admin添加到app.yaml中的处理程序配置来限制URL。"

app.yaml snippet

handlers:
- url: /tasks/process
  script: process.app
  login: admin