这个项目的最终目标是检查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消息设置,但我不确定如何检测它何时成功运行。也许这可能是一个潜在的解决方案。
谢谢你的帮助
2条答案
按热度按时间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,但你可以跟踪它的进展,一旦你创建的错误。
gzjq41n42#
更新:
我的触发器在欧洲西部2。
我能够找到一个解决办法,只需将触发器放置在默认的全局非区域中。
然后我就可以正常地通过API拉取状态了。所以对于任何面临同样问题的人来说,只要使用全局区域,API就应该起作用了。
干杯,