Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 导入/导出数据融合管道_Google Cloud Platform_Integration_Etl_Google Cloud Data Fusion - Fatal编程技术网

Google cloud platform 导入/导出数据融合管道

Google cloud platform 导入/导出数据融合管道,google-cloud-platform,integration,etl,google-cloud-data-fusion,Google Cloud Platform,Integration,Etl,Google Cloud Data Fusion,是否有人知道是否可以通过编程方式导入/导出数据流管道(已部署或处于草稿状态) 其思想是编写一个脚本来删除并创建一个数据融合实例,以避免在未使用时进行计费。 通过gloud命令行,可以提供一个数据融合集群并销毁它,但自动导出和导入我的所有管道也是很有趣的 不幸的是,官方文件对我没有帮助 谢谢 您可以使用RESTAPI来实现这一点。但是,您可能需要一些脚本,在给定实例url的情况下自动执行此操作。您应该能够从应用程序列表API()获取管道配置。在您的例子中,首先需要获取管道列表(),然后遍历所有管道

是否有人知道是否可以通过编程方式导入/导出数据流管道(已部署或处于草稿状态)

其思想是编写一个脚本来删除并创建一个数据融合实例,以避免在未使用时进行计费。 通过gloud命令行,可以提供一个数据融合集群并销毁它,但自动导出和导入我的所有管道也是很有趣的

不幸的是,官方文件对我没有帮助


谢谢

您可以使用RESTAPI来实现这一点。但是,您可能需要一些脚本,在给定实例url的情况下自动执行此操作。您应该能够从应用程序列表API()获取管道配置。在您的例子中,首先需要获取管道列表(),然后遍历所有管道并获取单个管道的详细信息,这些管道将具有名为
configuration
的属性,该属性将具有配置管道json。您仍然需要创建一个新的JSON,其中包含名称、描述、工件信息以及配置属性以及从后端接收的配置JSON

一个样本是这样的

  • 在您要销毁的集群中,获取API以获取应用程序列表,并将
    artifactName=cdap数据管道、cdap数据流
    作为查询参数
  • 解析响应并迭代各个应用程序,获取应用程序详细信息
  • 然后在一个新集群中,您将要创建一个新集群,只需使用上一步中获得的json部署管道即可
  • 需要注意的一点是,如果您在旧集群中为管道设置了计划或触发器,则不会在新集群中创建这些计划或触发器。如果您只是部署和运行管道,那么管道的其余部分应该可以正常工作

    希望这有帮助

    [更新]11/20 刚刚意识到有关于访问REST API进行数据融合的文档,但是它并不完全涉及如何进行REST API调用。下面是一个如何做的例子

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -w"\n" -X GET <instance-url>/namespaces/default/apps?artifactName=cdap-data-pipeline,cdap-data-streams?artifactName=cdap-data-pipeline,cdap-data-streams
    
    curl-H“Authorization:Bearer$(gcloud auth print access token)”-w“\n”-X GET/namespace/default/apps?artifactName=cdap数据管道,cdap数据流?artifactName=cdap数据管道,cdap数据流
    
    在这里,我们使用gcloud获取特定实例的访问令牌。这样做的先决条件是使用gcloud SDK登录。身份验证成功后,这将成功返回特定实例中的应用程序列表

    namespaces/default/apps/<app-name>
    
    
    {   
      "name": "Pipeline_1",
      "description": "Pipeline to do taskX",
      "artifact": {
        "name": "cdap-data-pipeline",
        "version": "6.1.0-SNAPSHOT",
        "scope": "USER"
      },
      "config": JSON.parse(<configuration-from-app-detailed-api>) 
    } 
    
    
    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -w"\n" -X GET <instance-url>/namespaces/default/apps?artifactName=cdap-data-pipeline,cdap-data-streams?artifactName=cdap-data-pipeline,cdap-data-streams