google-cloud-build PyPi 400 错误
google-cloud-build PyPi 400 errors
我目前在调用 list_builds()
方法时收到 400 个错误(见此处:https://googleapis.dev/python/cloudbuild/latest/gapic/v1/api.html?highlight=list_builds#google.cloud.devtools.cloudbuild_v1.CloudBuildClient.list_builds)
以下命令使用 gcloud 有效:
gcloud builds list --filter="status=FAILURE"
但是下面API调用returnsgoogle.api_core.exceptions.InvalidArgument: 400 Error processing filter expression
for element in client.list_builds("REDACTED", filter_="status=FAILURE"):
# process element
pass
我想我在这里遗漏了一些非常明显和简单的东西,但我无法确切地弄清楚我做错了什么
欢迎来到 Stack O!所以我只是在这里吐口水,但文档说 Filter 字符串是 "The raw filter text to constrain the results."
当您在控制台中过滤 Cloud Build 时,UI 中的 "raw filter text" 显示 Status : Failed
- 您可以尝试:
--filter="Status : Failed"
--filter="Status: Failed"
--filter="Status:Failed"
或者,它可能是URL中的字符串,其格式对于 Stack O 的机器人来说太麻烦了,所以我无法粘贴它在这里,但它以 f
开头并以 Failed
:
结尾
这里的关键是你的字符串中有一个等号,以及 Failure
而不是 Failed
- 更改其中一个或两个可能会成功。
希望对您有所帮助!
将过滤器字符串传递给 API 调用的正确方法包括在实际文本周围使用双撇号,如下所示:
filter_='status="FAILURE"'
不确定将来是否会对此进行更改,但这与通过此处的 REST API 传递它的行为相同:https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds/list
例如指定 status=FAILURE
会失败,但是 status="FAILURE"
returns 200 响应。
我目前在调用 list_builds()
方法时收到 400 个错误(见此处:https://googleapis.dev/python/cloudbuild/latest/gapic/v1/api.html?highlight=list_builds#google.cloud.devtools.cloudbuild_v1.CloudBuildClient.list_builds)
以下命令使用 gcloud 有效:
gcloud builds list --filter="status=FAILURE"
但是下面API调用returnsgoogle.api_core.exceptions.InvalidArgument: 400 Error processing filter expression
for element in client.list_builds("REDACTED", filter_="status=FAILURE"):
# process element
pass
我想我在这里遗漏了一些非常明显和简单的东西,但我无法确切地弄清楚我做错了什么
欢迎来到 Stack O!所以我只是在这里吐口水,但文档说 Filter 字符串是 "The raw filter text to constrain the results."
当您在控制台中过滤 Cloud Build 时,UI 中的 "raw filter text" 显示 Status : Failed
- 您可以尝试:
--filter="Status : Failed"
--filter="Status: Failed"
--filter="Status:Failed"
或者,它可能是URL中的字符串,其格式对于 Stack O 的机器人来说太麻烦了,所以我无法粘贴它在这里,但它以 f
开头并以 Failed
:
这里的关键是你的字符串中有一个等号,以及 Failure
而不是 Failed
- 更改其中一个或两个可能会成功。
希望对您有所帮助!
将过滤器字符串传递给 API 调用的正确方法包括在实际文本周围使用双撇号,如下所示:
filter_='status="FAILURE"'
不确定将来是否会对此进行更改,但这与通过此处的 REST API 传递它的行为相同:https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds/list
例如指定 status=FAILURE
会失败,但是 status="FAILURE"
returns 200 响应。