访问Cloud Data Fusion实例的CDAP Rest API

时间:2019-11-19 21:12:49

标签: google-cloud-data-fusion

您如何访问Cloud Data Fusion实例的CDAP REST API?我想使用Cloud Composer来协调我的管道。

我有一个启用了私有IP的企业版实例,但是我找不到任何有关如何访问REST API的文档。

“实例详细信息”页面仅显示/ 22 IP地址范围-它未指定特定IP。是否可以使用受IAP保护的URL访问UI?

1 个答案:

答案 0 :(得分:4)

您可以使用projects.locations.instances.list方法获取Data Fusion实例的CDAP API端点。您可以使用API Explorer或curl进行测试:

PROJECT=$(gcloud config get-value project)
TOKEN=$(gcloud auth print-access-token)
LOCATION=europe-west4

curl -H "Authorization: Bearer $TOKEN" \
        https://datafusion.googleapis.com/v1beta1/projects/$PROJECT/locations/$LOCATION/instances

{
  "instances": [
    {
      "name": "projects/PROJECT/locations/europe-west4/instances/data-fusion-1",
      "type": "BASIC",
      "networkConfig": {},
      "createTime": "2019-11-10T12:02:55.776479620Z",
      "updateTime": "2019-11-10T12:16:41.560477044Z",
      "state": "RUNNING",
      "serviceEndpoint": "https://data-fusion-1-PROJECT-dot-euw4.datafusion.googleusercontent.com",
      "version": "6.1.0.2",
      "serviceAccount": "cloud-datafusion-management-sa@REDACTED-tp.iam.gserviceaccount.com",
      "displayName": "data-fusion-1",
      "apiEndpoint": "https://data-fusion-1-PROJECT-dot-euw4.datafusion.googleusercontent.com/api"
    }
  ]
}

请注意,apiEndpoint的格式为:

https://<INSTANCE_DISPLAY_NAME>-<PROJECT_ID>-dot-<REGION_ACRONYM>.datafusion.googleusercontent.com/api

现在,我们可以按照CDAP参考指南查看例如run history的一个管道:

GET hostname/api/v3/namespaces/namespace-id/apps/pipeline-name/workflows/DataPipelineWorkflow/runs

其中hostname是先前获得的serviceEndpoint,对于namespace-id实例,default将是BASIC(对于Enterprise,您可以具有不同的命名空间),{在我的情况下,{1}}将是pipeline-name

BQ-to-GCS