繁体   English   中英

具有相对 URI 的 Cloud Tasks App Engine 目标引发异常 400:需要 HttpRequest.url

Cloud Tasks App Engine target with relative URI throws Exception 400 : HttpRequest.url is required

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用 Python 客户端google-cloud-tasks==2.1.0使用 Google Cloud Tasks 创建任务,但我收到一个异常,即需要 HttpRequest.url。 我正在设置相对 url 这是一个 URL 在我的应用程序中处理任务。

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

gcloud task create queue notifications

编码:

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)       

我收到的确切错误是:

google.api_core.exceptions.InvalidArgument: 400 HttpRequest.url is required

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

2 个回复

@Donald 是对的,但我认为他链接的谷歌文档中有错字。 我在app_engine_http_request中设置了我的标题,而不是http_request

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

     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)

https://googleapis.dev/python/cloudtasks/latest/tasks_v2/types.html#google.cloud.tasks_v2.types.AppEngineHttpRequest.headers

您的任务有两个目标,即 App Engine 和 HTTP。 在 HTTP 上,需要 URL,如创建 HTTP 目标任务中指定的那样。

URL 必须以“http://”或“https://”开头。 要解决此问题,请更新您的http_request

'http_request': {                                                   
  'headers': {"Content-type": "application/json"},
  'url': "https://[SERVICE-URL]" + notification_url              
}

或者,在声明您的任务后,删除http_request并像这样指定您的 header:

任务[“http_request”][“headers”] = {“内容类型”:“应用程序/json”}

编辑:指定 App Engine 标头时,也可以这样写:

task["app_engine_http_request"]["headers"] = {"Content-type": "application/json"}
2 如何获取有关 Control.Invoke 的目标引发的异常的信息

我有一个“通用”样板静态方法,用于检查 InvokeRequired 并相应地调用关联的操作。 如果操作引发了未处理的异常,堆栈跟踪没有多大帮助,因为它从这里开始。 我可以获得有关控件的信息,但这并不总是有多大帮助。 我想知道是否有可能从 Action 中得到有用的“东西”——除了“目标”。 ( ...

2008-11-03 11:41:17 2 1037   c#
3 编码的UI-调用的目标引发了异常

我写了一个简单的编码UI测试。 我可以运行测试,但是当我尝试调试它时,却出现错误“检测到意外错误。请检查测试输出窗格以了解详细信息。” 在“测试输出”窗格中,显示以下消息。 **使用以下信息启动调试器** ------运行测试已启动------调用的目标引发了异常。 ====== ...

5 crmsvcutil错误调用的目标引发了异常

生成早期绑定实体时出现以下错误 异常退出程序:调用的目标抛出了异常。 启用跟踪并查看跟踪文件以获取更多信息。 我运行的命令是 配置文件是 我有两个问题是什么导致此错误? 如何使文件跟踪工作? ...

7 如何解决:“调用目标引发了异常”C#

C# 每次我运行我的porgram我都会得到这个例外: 但是当我在调试模式下运行时,没有异常并且程序运行正常,我该怎么办? 注意:我不在项目的任何地方使用invoke() 编辑:好的,这里是详细信息中找到的代码:如果有人知道如何使用protoBuff,并知道这个问题... ...

9 我得到了:调用目标引发了异常

尝试打开页面时出现异常: 发生了未处理的异常,并终止了该过程。 应用ID:/ LM / W3SVC / 6 / ROOT / ROXY / es 进程ID:2972 异常:System.InvalidOperationException 消息:句柄未初始 ...

10 F#Web API-调用的目标引发了异常

我正在尝试使用OWIN创建F#Web服务,我在网上找到了2个教程,并且都在同一行代码上给了我相同的错误“调用的目标抛出了异常”,但是我无法确定找出为什么会这样 下面是一小段代码,我使用的是第二个更复杂的示例,可在此处的财富与利润网站上找到示例3 例外详情 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM