Amazon Glue 可视化任务 API - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Glue 可视化任务 API

Amazon Glue 提供了一个 API,允许客户使用 Amazon Glue API 从表示可视化步骤工作流的 JSON 对象创建数据集成任务。然后,客户可以使用 Amazon Glue Studio 中的可视化编辑器来处理这些任务。

有关可视化任务 API 数据类型的更多信息,请参阅可视化任务 API

API 设计和 CRUD API

CreateJob 和 UpdateJob API 现在支持额外的可选参数 codeGenConfigurationNodes。若为此字段提供非空 JSON 结构,将导致为创建的任务在 Amazon Glue Studio 中注册 DAG,并生成关联代码。任务创建时此字段的空值或空字符串将被忽略。

codeGenConfigurationNodes 字段的更新可通过 UpdateJob Amazon Glue API 以类似于 CreateJob 的方式完成。整个字段应在 UpdateJob 中指定,其中 DAG 已根据需要更改。提供的空值将被忽略,并且不会执行 DAG 更新。空结构或字符串将导致 codeGenConfigurationNodes 设置为空,并删除以前的任何 DAG。GetJob API 将返回 DAG(如果存在)。DeleteJob API 还会删除任何关联的 DAG。

开始使用

要创建任务,请使用 CreateJob 操作CreateJob 请求输入包含一个额外的字段“codeGenConfigurationNodes”,您可以从中获取并指定 JSON 中的 DAG 对象。

请记住以下事项:

  • “codeGenConfigurationNodes”字段是 nodeId 到节点的映射。

  • 每个节点都以一个标识其节点类型的键开头。

  • 由于节点只能是一种类型,因此只能指定一个键。

  • 输入字段包含当前节点的父节点。

以下是 CreateJob 输入的 JSON 表示。

{ "node-1": { "S3CatalogSource": { "Table": "csvFormattedTable", "PartitionPredicate": "", "Name": "S3 bucket", "AdditionalOptions": {}, "Database": "myDatabase" } }, "node-3": { "S3DirectTarget": { "Inputs": ["node-2"], "PartitionKeys": [], "Compression": "none", "Format": "json", "SchemaChangePolicy": { "EnableUpdateCatalog": false }, "Path": "", "Name": "S3 bucket" } }, "node-2": { "ApplyMapping": { "Inputs": ["node-1"], "Name": "ApplyMapping", "Mapping": [ { "FromType": "long", "ToType": "long", "Dropped": false, "ToKey": "myheader1", "FromPath": ["myheader1"] }, { "FromType": "long", "ToType": "long", "Dropped": false, "ToKey": "myheader2", "FromPath": ["myheader2"] }, { "FromType": "long", "ToType": "long", "Dropped": false, "ToKey": "myheader3", "FromPath": ["myheader3"] } ] } } }

更新和获取任务

由于 UpdateJob 也包含“codeGenConfigurationNodes”字段,因此输入格式相同。请参阅 UpdateJob 操作。

GetJob 操作也将以相同的格式返回“codeGenConfigurationNodes”字段。请参阅 GetJob 操作。

可视化任务限制

由于“codeGenConfigurationNodes”参数已添加到现有 API 中,因此将继承这些 API 中的任何限制。此外,codeGenConfigurationNodes 和某些节点的大小也将受到限制。有关更多信息,请参阅任务结构