开发终端节点 API - AWS Glue

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

开发终端节点 API

开发端点 API 介绍与使用自定义 DevEndpoint 进行测试相关的 AWS Glue API。

数据类型

DevEndpoint 结构

开发人员可以远程调试提取、转换和加载 (ETL) 脚本的开发终端节点。

字段
  • EndpointName – UTF-8 字符串。

    DevEndpoint 的名称。

  • RoleArn – UTF-8 字符串,与 AWS IAM ARN string pattern 匹配。

    DevEndpoint 中使用的 IAM 角色的 Amazon 资源名称(ARN)。

  • SecurityGroupIds – UTF-8 字符串数组。

    DevEndpoint 中使用的安全组标识符的列表。

  • SubnetId – UTF-8 字符串。

    DevEndpoint 的子网 ID。

  • YarnEndpointAddress – UTF-8 字符串。

    DevEndpoint 使用的 YARN 终端节点地址。

  • PrivateAddress – UTF-8 字符串。

    私有 IP 地址用于访问 VPC 中的 DevEndpoint(如果在 VPC 中创建了 DevEndpoint)。只有在 VPC 创建 DevEndpoint 时才会显示 PrivateAddress 字段。

  • ZeppelinRemoteSparkInterpreterPort – 数字(整数)。

    远程 Apache Spark 解释器的 Apache Zeppelin 端口。

  • PublicAddress – UTF-8 字符串。

    DevEndpoint 使用的公有 IP 地址。仅当您创建非 virtual private cloud (VPC) DevEndpoint 时提供 PublicAddress 字段。

  • Status – UTF-8 字符串。

    DevEndpoint 的当前状态。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    分配给开发端点的预定义工作线程的类型。接受的值为 Standard、G.1X 或 G.2X。

    • 对于 Standard 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 50GB 磁盘,并且每个工作线程提供 2 个执行器。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16 GB 内存,64 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32 GB 内存,128 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    已知问题:当使用 G.2X WorkerType 配置创建开发端点时,开发端点的 Spark 驱动程序将在 4 个 vCPU、16 GB 内存和 64 GB 磁盘上运行。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

    Glue 版本决定了 AWS Glue 支持的 Apache Spark 和 Python 版本。Python 版本表示支持在开发端点上运行 ETL 脚本的版本。

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的开发端点默认为 Glue 0.9。

    可以使用 CreateDevEndpointUpdateDevEndpoint API 中的 Arguments 参数指定支持开发端点的 Python 版本。如果未提供参数,则版本默认为 Python 2。

  • NumberOfWorkers – 数字(整数)。

    分配给开发端点的已定义 workerType 的工作线程数。

    您可以定义的最大工作线程数是 299 (G.1X),以及 149 (G.2X)。

  • NumberOfNodes – 数字(整数)。

    分配给此 DevEndpoint 的 AWS Glue 数据处理单元(DPU)的数量。

  • AvailabilityZone – UTF-8 字符串。

    DevEndpoint 所在的 AWS 可用区。

  • VpcId – UTF-8 字符串。

    DevEndpoint 使用的 Virtual Private Cloud (VPC) 的 ID。

  • ExtraPythonLibsS3Path – UTF-8 字符串。

    Amazon S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Python 库的路径。多个值必须是以逗号分隔的完整路径。

    注意

    您只能与 DevEndpoint 一同使用纯 Python 库。目前不支持依赖于 C 扩展的库,如 pandas Python 数据分析库。

  • ExtraJarsS3Path – UTF-8 字符串。

    S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Java .jar 文件的路径。

    注意

    您只能与 DevEndpoint 一同使用纯 Java/Scala 库。

  • FailureReason – UTF-8 字符串。

    DevEndpoint 中的当前失败的原因。

  • LastUpdateStatus – UTF-8 字符串。

    上次更新的状态。

  • CreatedTimestamp – 时间戳。

    创建此 DevEndpoint 的时间点。

  • LastModifiedTimestamp – 时间戳。

    上次修改此 DevEndpoint 的时间点。

  • PublicKey – UTF-8 字符串。

    DevEndpoint 用于身份验证的公有密钥。提供此属性是为了向后兼容,因为要使用的推荐属性是公有密钥。

  • PublicKeys – UTF-8 字符串数组,不超过 5 个字符串。

    DevEndpoints 用于身份验证的公有密钥列表。优先于单个公有密钥使用此属性,因为公有密钥允许您为每个客户端使用不同的私有密钥。

    注意

    如果以前使用公有密钥创建了端点,则必须删除该密钥才能设置公有密钥列表。使用 addPublicKeys 属性中的公有密钥内容和 deletePublicKeys 属性中的新密钥列表调用 UpdateDevEndpoint API 操作。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    DevEndpoint 将使用的 SecurityConfiguration 结构的名称。

  • Arguments – 键值对的映射数组,不超过 100 对。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    用于配置 DevEndpoint 的参数的映射。

    有效参数为:

    • "--enable-glue-datacatalog": ""

    可以使用 CreateDevEndpointUpdateDevEndpoint API 中的 Arguments 参数指定支持开发端点的 Python 版本。如果未提供参数,则版本默认为 Python 2。

DevEndpointCustomLibraries 结构

要加载到开发终端节点中的自定义库。

字段
  • ExtraPythonLibsS3Path – UTF-8 字符串。

    Amazon Simple Storage Service (Amazon S3) 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Python 库的路径。多个值必须是以逗号分隔的完整路径。

    注意

    您只能与 DevEndpoint 一同使用纯 Python 库。目前不支持依赖于 C 扩展的库,如 pandas Python 数据分析库。

  • ExtraJarsS3Path – UTF-8 字符串。

    S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Java .jar 文件的路径。

    注意

    您只能与 DevEndpoint 一同使用纯 Java/Scala 库。

操作

CreateDevEndpoint 操作(Python:create_dev_endpoint)

创建新的开发终端节点。

请求
  • EndpointName必填:UTF-8 字符串。

    要为新 DevEndpoint 分配的名称。

  • RoleArn必填: UTF-8 字符串,与 AWS IAM ARN string pattern 匹配。

    DevEndpoint 的 IAM 角色。

  • SecurityGroupIds – UTF-8 字符串数组。

    新的 DevEndpoint 将使用的安全组的安全组 ID。

  • SubnetId – UTF-8 字符串。

    新的 DevEndpoint 将使用的子网 ID。

  • PublicKey – UTF-8 字符串。

    DevEndpoint 用于身份验证的公有密钥。提供此属性是为了向后兼容,因为要使用的推荐属性是公有密钥。

  • PublicKeys – UTF-8 字符串数组,不超过 5 个字符串。

    开发终端节点用于身份验证的公有密钥列表。优先于单个公有密钥使用此属性,因为公有密钥允许您为每个客户端使用不同的私有密钥。

    注意

    如果以前使用公有密钥创建了端点,则必须删除该密钥才能设置公有密钥列表。使用 addPublicKeys 属性中的公有密钥内容和 deletePublicKeys 属性中的新密钥列表调用 UpdateDevEndpoint API。

  • NumberOfNodes – 数字(整数)。

    要分配给该 DevEndpoint 的 AWS Glue 数据处理单元(DPU)的数量。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    分配给开发端点的预定义工作线程的类型。接受的值为 Standard、G.1X 或 G.2X。

    • 对于 Standard 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 50GB 磁盘,并且每个工作线程提供 2 个执行器。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16 GB 内存,64 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32 GB 内存,128 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    已知问题:当使用 G.2X WorkerType 配置创建开发端点时,开发端点的 Spark 驱动程序将在 4 个 vCPU、16 GB 内存和 64 GB 磁盘上运行。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

    Glue 版本决定了 AWS Glue 支持的 Apache Spark 和 Python 版本。Python 版本表示支持在开发端点上运行 ETL 脚本的版本。

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的开发端点默认为 Glue 0.9。

    可以使用 CreateDevEndpointUpdateDevEndpoint API 中的 Arguments 参数指定支持开发端点的 Python 版本。如果未提供参数,则版本默认为 Python 2。

  • NumberOfWorkers – 数字(整数)。

    分配给开发端点的已定义 workerType 的工作线程数。

    您可以定义的最大工作线程数是 299 (G.1X),以及 149 (G.2X)。

  • ExtraPythonLibsS3Path – UTF-8 字符串。

    Amazon S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Python 库的路径。多个值必须是以逗号分隔的完整路径。

    注意

    您只能与 DevEndpoint 一同使用纯 Python 库。尚不支持依赖于 C 扩展的库,如 pandas Python 数据分析库。

  • ExtraJarsS3Path – UTF-8 字符串。

    S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Java .jar 文件的路径。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    DevEndpoint 将使用的 SecurityConfiguration 结构的名称。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    要用于此 DevEndpoint 的标签。您可以使用标签来限制对 DevEndpoint 的访问。有关 AWS Glue 中的标签的更多信息,请参阅开发人员指南中的 AWS Glue 中的 AWS 标签

  • Arguments – 键值对的映射数组,不超过 100 对。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    用于配置 DevEndpoint 的参数的映射。

响应
  • EndpointName – UTF-8 字符串。

    为新的 DevEndpoint 指定的名称。

  • Status – UTF-8 字符串。

    新的 DevEndpoint 的当前状态。

  • SecurityGroupIds – UTF-8 字符串数组。

    分配给新 DevEndpoint 的安全组。

  • SubnetId – UTF-8 字符串。

    分配给新的 DevEndpoint 的子网 ID。

  • RoleArn – UTF-8 字符串,与 AWS IAM ARN string pattern 匹配。

    分配给新的 DevEndpoint 的角色的 Amazon Resource Name(ARN)。

  • YarnEndpointAddress – UTF-8 字符串。

    DevEndpoint 使用的 YARN 终端节点的地址。

  • ZeppelinRemoteSparkInterpreterPort – 数字(整数)。

    远程 Apache Spark 解释器的 Apache Zeppelin 端口。

  • NumberOfNodes – 数字(整数)。

    分配给此 DevEndpoint 的 AWS Glue 数据处理单元(DPU)的数量。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    分配给开发端点的预定义工作线程的类型。可能的值为 Standard、G.1X 或 G.2X。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

    Glue 版本决定了 AWS Glue 支持的 Apache Spark 和 Python 版本。Python 版本表示支持在开发端点上运行 ETL 脚本的版本。

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

  • NumberOfWorkers – 数字(整数)。

    分配给开发端点的已定义 workerType 的工作线程数。

  • AvailabilityZone – UTF-8 字符串。

    DevEndpoint 所在的 AWS 可用区。

  • VpcId – UTF-8 字符串。

    DevEndpoint 使用的 Virtual Private Cloud (VPC) 的 ID。

  • ExtraPythonLibsS3Path – UTF-8 字符串。

    S3 存储桶中将加载到您的 DevEndpoint 中的一个或多个 Python 库的路径。

  • ExtraJarsS3Path – UTF-8 字符串。

    S3 存储桶中应加载到您的 DevEndpoint 中的一个或多个 Java .jar 文件的路径。

  • FailureReason – UTF-8 字符串。

    DevEndpoint 中的当前失败的原因。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    DevEndpoint 使用的 SecurityConfiguration 结构的名称。

  • CreatedTimestamp – 时间戳。

    创建此 DevEndpoint 的时间点。

  • Arguments – 键值对的映射数组,不超过 100 对。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    用于配置该 DevEndpoint 的参数的映射。

    有效参数为:

    • "--enable-glue-datacatalog": ""

    可以使用 CreateDevEndpointUpdateDevEndpoint API 中的 Arguments 参数指定支持开发端点的 Python 版本。如果未提供参数,则版本默认为 Python 2。

错误
  • AccessDeniedException

  • AlreadyExistsException

  • IdempotentParameterMismatchException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

  • ResourceNumberLimitExceededException

UpdateDevEndpoint 操作(Python:update_dev_endpoint)

更新指定的开发终端节点。

请求
  • EndpointName必填:UTF-8 字符串。

    要更新的 DevEndpoint 名称。

  • PublicKey – UTF-8 字符串。

    DevEndpoint 要使用的公有密钥。

  • AddPublicKeys – UTF-8 字符串数组,不超过 5 个字符串。

    DevEndpoint 将使用的公有密钥的列表。

  • DeletePublicKeys – UTF-8 字符串数组,不超过 5 个字符串。

    要从 DevEndpoint 中删除的公有密钥的列表。

  • CustomLibraries – 一个 DevEndpointCustomLibraries 对象。

    要加载到 DevEndpoint 中的自定义 Python 或 Java 库。

  • UpdateEtlLibraries – 布尔值。

    如果需要更新要加载到开发终端节点中的自定义库列表,则为 True,否则为 False

  • DeleteArguments – UTF-8 字符串数组。

    要从用于配置 DevEndpoint 的参数映射中删除的参数键的列表。

  • AddArguments – 键值对的映射数组,不超过 100 对。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    用于添加用来配置 DevEndpoint 的参数映射的参数的映射。

    有效参数为:

    • "--enable-glue-datacatalog": ""

    可以使用 CreateDevEndpointUpdateDevEndpoint API 中的 Arguments 参数指定支持开发端点的 Python 版本。如果未提供参数,则版本默认为 Python 2。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

DeleteDevEndpoint 操作(Python:delete_dev_endpoint)

删除指定的开发终端节点。

请求
  • EndpointName必填:UTF-8 字符串。

    DevEndpoint 的名称。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

GetDevEndpoint 操作(Python:get_dev_endpoint)

检索有关指定开发终端节点的信息。

注意

当您在 Virtual Private Cloud (VPC) 中创建开发终端节点时,AWS Glue 仅返回一个私有 IP 地址,并且不会填充公有 IP 地址字段。在创建非 VPC 开发终端节点时,AWS Glue 仅返回一个公有 IP 地址。

请求
  • EndpointName必填:UTF-8 字符串。

    要为其检索信息的 DevEndpoint 名称。

响应
  • DevEndpoint – 一个 DevEndpoint 对象。

    DevEndpoint 定义。

错误
  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

GetDevEndpoints 操作(Python:get_dev_endpoints)

检索此 AWS 账户中的所有开发终端节点。

注意

当您在 Virtual Private Cloud(VPC)中创建开发终端节点时,AWS Glue 仅返回一个私有 IP 地址,并且不会填充公有 IP 地址字段。在创建非 VPC 开发终端节点时,AWS Glue 仅返回一个公有 IP 地址。

请求
  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    要返回的信息的最大大小。

  • NextToken – UTF-8 字符串。

    延续标记 (如果这是延续调用)。

响应
  • DevEndpointsDevEndpoint 对象的数组。

    DevEndpoint 定义的列表。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果尚未返回所有 DevEndpoint 定义)。

错误
  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

BatchGetDevEndpoints 操作(Python:batch_get_dev_endpoints)

返回给定开发终端节点名称列表的资源元数据的列表。调用 ListDevEndpoints 操作后,您可以调用此操作来访问您有权访问的数据。此操作支持所有 IAM 权限,包括使用标签的权限条件。

请求
  • customerAccountId – UTF-8 字符串。

    AWS 账户 ID。

  • DevEndpointNames必填:UTF-8 字符串数组,不少于 1 个或不超过 25 个字符串。

    DevEndpoint 名称列表,这些名称可能是通过 ListDevEndpoint 操作返回的名称。

响应
  • DevEndpointsDevEndpoint 对象的数组。

    DevEndpoint 定义的列表。

  • DevEndpointsNotFound – UTF-8 字符串数组,不少于 1 个或不超过 25 个字符串。

    未找到 DevEndpoints 列表。

错误
  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

ListDevEndpoints 操作(Python:list_dev_endpoints)

检索此 AWS 账户中所有 DevEndpoint 资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。

此操作采用可选的 Tags 字段,您可以将其用作响应的筛选器,以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选,则仅检索带标签的资源。

请求
  • NextToken – UTF-8 字符串。

    延续令牌 (如果这是延续请求)。

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    要返回的列表的最大大小。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    指定仅返回这些已标记的资源。

响应
  • DevEndpointNames – UTF-8 字符串数组。

    账户中所有 DevEndpoint 的名称或带指定标签的 DevEndpoint

  • NextToken – UTF-8 字符串。

    延续令牌 (如果返回的列表不包含上一个可用的指标)。

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException