获取云数据融合运行时信息

时间:2020-10-30 07:07:05

标签: google-cloud-data-fusion

我想在管道完成时将Data Fusion管道的runid传递给某些函数,但是我找不到任何保存此值的运行时变量。请帮忙!

2 个答案:

答案 0 :(得分:0)

@Edwin Elia在评论部分提供了正确答案:

当前无法在其运行或先前的管道中检索数据融合管道的run-id。这是一个enhancement,您可以对其进行跟踪。

谈论在管道完成后检索run_id值时,您应该能够使用CDAP documentation中的REST API来获取有关运行的信息,包括运行ID。

答案 1 :(得分:0)

作为对上一个答案的更新,首先要做的是获取给定命名空间中已部署管道的详细信息。为此,应查询以下端点:'/v3/namespaces/${NAMESPACE}/apps'。其中 ${NAMESPACE} 是部署管道的命名空间。

此端点返回一个列表,其中包含部署在此命名空间 ${NAMESPACE} 上的管道(不是管道 JSON,只是一个高级描述列表)。获取管道列表后,要获取给定管道的运​​行指标,应调用以下端点:'/v3/namespaces/${NAMESPACE}/apps/${PIPELINE}/workflows/DataPipelineWorkflow/runs',其中 ${PIPELINE} 是管道的名称。此端点将返回此管道的所有运行的详细信息。这是可以获取 run_id 的地方。包含 run_id 的字段在此列表中实际上称为 runid

通过 run_id,您可以获取所有运行日志,例如通过查询端点 '{CDAP_ENDPOINT}/v3/namespaces/{NAMESPACE}/apps/{PIPELINE}/workflows/DataPipelineWorkflow/runs/{run["runid"]}/logs?start={run["start"]}&stop={run["start"]}'。前面的代码段是一个 Python 代码段,其中 run 是一个包含特定运行的运行详细信息的字典。

如 CDAP microservice guide 中所述,要调用这些端点,必须通过运行以下命令获取 CDAP 端点:gcloud beta data-fusion instances describe --project=${PROJECT} --location=${REGION} --format="value(apiEndpoint)" ${INSTANCE_ID}。还需要身份验证令牌,可以通过运行以下命令找到:gcloud auth print-access-token