【发布时间】:2022-08-16 21:06:03
【问题描述】:
我测试了我在本地构建的容器。它接受带有文件的 POST 请求并返回另一个已处理的文件。
我将容器上传到 GCP 上的 Artifact Registry。我一直在尝试从我的计算机发出一些 POST 请求来测试该服务。这是下面的 CURL,与各种客户端库相同的问题。当我使用本地端口而不是云运行 URL 时,相同的请求有效。
curl --globoff https://SERVICE_NAME.a.run.app
-X POST
-H \"content-type: application/json\"
-H \"Authorization: bearer $(gcloud auth print-identity-token)\"
-d \'{\"filename\": RANDOM_FILE_NAME.pdf}\'
我收到了我粘贴在下面的 405。
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>
<title>Error 405 HTTP method POST is not supported by this URL</title>
</head>
<body><h2>HTTP ERROR 405</h2>
<p>Problem accessing /. Reason:
<pre> HTTP method POST is not supported by this URL</pre></p>
</body>
</html>
我究竟做错了什么 ?我在 Cloud Run 上没有看到任何需要更新的其他选项,而且我很清楚我的容器接受 POST。
-
您部署的代码是什么?此外,您是否尝试使用尾随 /?某些框架(如 spring boot)无法识别带有或不带有尾随 / 的相同 URL
-
它是一个机器学习管道,它以 PDF 作为输入并在处理后输出解析的 JSON。它通过 FastApi 进行通信。至于尾随 /,我尝试无济于事 - 405 表示 URL 已被识别,但服务只是拒绝响应
标签: google-cloud-platform google-cloud-run