python 如何从特定的构建触发器中提取最新云构建运行的状态?

oxf4rvwz  于 9个月前  发布在  Python
关注(0)|答案(2)|浏览(99)

这个项目的最终目标是检查airflow中特定云构建触发器的最新运行状态。
然而,我无法列出一个单独的构建,或者在我的项目中拉一个触发器列表,等等。
谷歌文档中的例子似乎都不适合我。例如,从我的项目中提取触发器列表:

from google.cloud.devtools import cloudbuild_v1

def sample_list_build_triggers():
    # Create a client
    client = cloudbuild_v1.CloudBuildClient()

    # Initialize request argument(s)
    request = cloudbuild_v1.ListBuildTriggersRequest(
        project_id="example_project_id",
    )

    # Make the request
    page_result = client.list_build_triggers(request=request)

    # Handle the response
    for response in page_result:
        print(response)

sample_list_build_triggers()

字符串
如果确实有触发器,则返回None。我在这里使用的project_id与云构建的“execution details”选项卡中的id完全相同。文档确实说明了API是实验性的。但也许我错过了什么?这很难,因为我尝试的所有东西都默默失败了,而且这里似乎没有错误测试的方法。
我也引用了this question。这是上面显示的谷歌文档中的同一个例子,它不起作用。
是否有其他方法可以检索云构建运行的状态?或者关于如何进行测试的任何建议?我的CloudBuild触发器由pubsub消息设置,但我不确定如何检测它何时成功运行。也许这可能是一个潜在的解决方案。
谢谢你的帮助

evrscar2

evrscar21#

因为文档中指出API仍处于试验阶段。
您可能会遇到bug和错误沿着的方式,这将属于Pre-GA Offerings Terms
Google可向客户提供尚未在https://cloud.google.com/terms/services中列出或在相关文档或材料中标识为“抢先体验”、“Alpha”、“Beta”、”预览版“、”试验版”或类似名称的Google Cloud Platform功能、服务或软件(统称为“上市前产品”)。虽然上市前产品不属于服务或软件,但客户对上市前产品的使用应遵守经本第5条修订的适用于服务(或软件,如适用)的协议条款。
我建议的下一件事是在Issue tracking system and product feature request下提交一个bug。
免责声明:这没有一个具体的ETA,但你可以跟踪它的进展,一旦你创建的错误。

gzjq41n4

gzjq41n42#

更新:

我的触发器在欧洲西部2。
我能够找到一个解决办法,只需将触发器放置在默认的全局非区域中。
然后我就可以正常地通过API拉取状态了。所以对于任何面临同样问题的人来说,只要使用全局区域,API就应该起作用了。
干杯,

相关问题