首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有相对URI的云任务App目标抛出异常400 :需要HttpRequest.url

具有相对URI的云任务App目标抛出异常400 :需要HttpRequest.url
EN

Stack Overflow用户
提问于 2021-01-25 19:41:42
回答 1查看 1K关注 0票数 1

我试图使用Python google-cloud-tasks==2.1.0使用Google任务创建一个任务,但我得到了一个例外,即HttpRequest.url是必需的。我正在设置相对url,这是一个在我的应用程序中处理任务的URL。

队列存在并已使用以下方法创建:

代码语言:javascript
复制
gcloud task create queue notifications

守则:

代码语言:javascript
复制
client = tasks_v2.CloudTasksClient()
parent = client.queue_path(project, location, queue)
task = {                                                                
  'app_engine_http_request': {                                        
    'http_method': tasks_v2.HttpMethod.POST,                        
    'relative_uri': notification_url,
    'body': payload.encode('utf-8')                       
  },                                                                  
  'http_request': {                                                   
    'headers': {"Content-type": "application/json"}                 
  }                                                                   
}
response = client.create_task(parent=parent, task=task)       

我收到的确切错误是:

代码语言:javascript
复制
google.api_core.exceptions.InvalidArgument: 400 HttpRequest.url is required

我正试图在我的App标准环境中创建任务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-26 17:23:20

@Donald是对的,但我认为他链接的google文档中有一个错误。我在app_engine_http_request中设置了头,而不是http_request

我认为你不能同时提供app_engine_http_requesthttp_request,你只能提供一个。就像这样:

代码语言:javascript
复制
     client = tasks_v2.CloudTasksClient()
     parent = client.queue_path(project, location, queue)
     task = {                                                                
         'app_engine_http_request': {                                        
             'http_method': tasks_v2.HttpMethod.POST,                        
             'relative_uri': notification_url,
             'headers': {
                 'Content-Type': 'application/json'
             },
             'body': payload.encode('utf-8')                       
         }                                                                 
     }
     response = client.create_task(parent=parent, task=task)

v2.types.AppEngineHttpRequest.headers

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65891363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档