架构注册表 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

架构注册表

架构注册表 API 介绍与在 AWS Glue 中使用架构相关的数据类型和 API。

数据类型

RegistryId结构

可以包含注册表名称和 Amazon 资源名称 (ARN) 的包装程序结构。

Fields

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

    注册表的名称。仅用于查找。必须提供 RegistryArnRegistryName 之一。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    要更新的注册表的 ARN。必须提供 RegistryArnRegistryName 之一。

RegistryListItem结构

包含注册表详细信息的结构。

Fields

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

    注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    注册表的 Amazon 资源名称 (ARN)。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    注册表的描述。

  • Status – UTF-8 字符串(有效值:AVAILABLE | DELETING)。

    注册表的状态。

  • CreatedTime – UTF-8 字符串。

    注册表的创建数据。

  • UpdatedTime – UTF-8 字符串。

    注册表的更新日期。

MetadataInfo结构

包含架构版本的元数据信息的结构。

Fields

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

    元数据键的对应值。

  • CreatedTime – UTF-8 字符串。

    创建条目的时间。

  • PreviousMetadataValueList – 对象的数组。PreviousMetadataValueListItem

    包含先前元数据键值对的 PreviousMetadataValueListItem 对象的列表。

SchemaListItem结构

一个包含最少架构详细信息的对象。

Fields

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

    架构所在的注册表的名称。

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

    架构的名称。

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    架构的描述。

  • SchemaStatus – UTF-8 字符串(有效值:AVAILABLE | PENDING | DELETING)。

    架构的状态。

  • CreatedTime – UTF-8 字符串。

    创建架构的日期和时间。

  • UpdatedTime – UTF-8 字符串。

    架构的更新日期和时间。

SchemaVersionListItem结构

包含有关架构版本的详细信息的对象。

Fields

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一标识符。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

  • Status – UTF-8 字符串(有效值:AVAILABLE | PENDING | FAILURE | DELETING)。

    架构版本的状态。

  • CreatedTime – UTF-8 字符串。

    架构版本的创建日期和时间。

MetadataKeyValuePair结构

包含元数据的键值对的结构。

Fields

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

    元数据键。

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

    元数据键的对应值。

SchemaVersionErrorItem结构

一个对象,其中包含架构版本上的操作的错误详细信息。

Fields

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

  • ErrorDetails – 一个 ErrorDetails 对象。

    架构版本的错误详细信息。

ErrorDetails结构

包含错误详细信息的对象。

Fields

  • ErrorCode – UTF-8 字符串。

    错误的错误代码。

  • ErrorMessage – UTF-8 字符串。

    关于错误的错误消息。

SchemaVersionNumber结构

包含架构版本信息的结构。

Fields

  • LatestVersion – 布尔值。

    可用于架构的最新版本。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

SchemaId结构

AWS Glue 架构注册表中架构的唯一 ID。

Fields

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaName 之一。

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

    架构的名称。必须提供 SchemaArnSchemaName 之一。

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

    包含架构的架构注册表的名称。

PreviousMetadataValueListItem结构

包含之前的元数据键值对的结构。

Fields

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

    元数据键的对应值。

  • CreatedTime – UTF-8 字符串。

    创建条目的时间。

Operations

CreateRegistry 操作

创建新的注册表,可用于保存架构的集合。

Request

  • RegistryName必需:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #12 匹配。

    要创建的注册表的名称,最大长度为 255,且只能包含字母、数字、连字符、下划线、美元符号或哈希标记。无空格。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    注册表的描述。如果未提供描述,则不会显示任何默认值。

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

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

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

    包含键值对并可能由控制台、命令行或 API 搜索的 AWS 标签。

Response

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    新创建的注册表的 Amazon 资源名称 (ARN)。

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

    注册表的名称。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    注册表的描述。

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

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

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

    注册表的标签。

Errors

  • InvalidInputException

  • AccessDeniedException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

CreateSchema 操作

创建新的架构集并注册架构定义。如果架构集已存在但未实际注册版本,则返回错误。

创建架构集后,版本检查点将设置为第一个版本。兼容性模式“DISABLED”限制在第一个架构版本之后添加任何其他架构版本。对于所有其他兼容性模式,在使用 RegisterSchemaVersion API 时,将仅从第二个版本开始应用兼容性设置验证。

在没有 RegistryId 的情况下调用此 API 时,这将在注册表数据库表中为“默认注册表”创建一个条目(如果该条目不存在)。

Request

  • RegistryId – 一个 RegistryId 对象。

    这是包含注册表身份字段的包装程序形状。如果未提供此项,则将使用默认注册表。相同的 ARN 格式为:arn:aws:glue:us-east-2:<customer id>:registry/default-registry:random-5-letter-id

  • SchemaName必需:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #12 匹配。

    要创建的架构的名称,最大长度为 255,并且只能包含字母、数字、连字符、下划线、美元符号或哈希标记。无空格。

  • DataFormat必需:UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • Compatibility – UTF-8 字符串(有效值:NONE | DISABLED | BACKWARD | BACKWARD_ALL | FORWARD | FORWARD_ALL | FULL | FULL_ALL)。

    架构的兼容性模式。可能的值包括:

    • NONE:不应用兼容性模式。您可以在开发方案中使用此选项,或者,如果您不知道要应用于架构的兼容性模式,则可以使用此选项。任何添加的新版本都将被接受,而无需进行兼容性检查。

    • DISABLED:此兼容性选择可防止特定架构的版本控制。您可以使用此选项防止架构的未来版本控制。

    • BACKWARD:建议使用这种兼容性选择,因为它允许数据接收方读取当前架构版本和一个之前的架构版本。这意味着,对于 ,新架构版本无法删除数据字段或更改这些字段的类型,因此读者无法使用先前版本读取它们。

    • BACKWARD_ALL:这种兼容性选择允许数据接收者读取当前和所有以前的架构版本。当您需要删除字段或添加可选字段,并检查与所有先前架构版本的兼容性时,可以使用此选择。

    • FORWARD:这种兼容性选择允许数据接收者读取当前架构版本和一个下一个架构版本,但不一定是更高版本。当您需要添加字段或删除可选字段时,可以使用此选项,但只能检查与最后一个架构版本的兼容性。

    • FORWARD_ALL:这种兼容性选择允许数据接收方读取任何新的已注册架构的创建者写入。当您需要添加字段或删除可选字段并检查与所有先前架构版本的兼容性时,可以使用此选择。

    • FULL:这种兼容性选择允许数据接收者读取创建者使用架构的上一个或下一个版本写入的数据,但不一定是更早或更高的版本。当您需要添加或删除可选字段时,可以使用此选项,但只能检查与最后一个架构版本的兼容性。

    • FULL_ALL:这种兼容性选择允许数据接收者读取创建者使用所有先前的架构版本写入的数据。当您需要添加或删除可选字段并检查所有先前架构版本的兼容性时,可以使用此选项。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    架构的可选描述。如果未提供描述,则此操作不会有任何自动默认值。

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

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

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

    包含键值对并可能由控制台、命令行或 API 搜索的 AWS 标签。如果指定,则遵循 AWS tags-on-create 模式。

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

    使用 DataFormatSchemaName 设置的架构定义。

Response

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

    注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    注册表的 Amazon 资源名称 (ARN)。

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

    架构的名称。

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    在创建时指定的架构的描述。

  • DataFormat – UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • Compatibility – UTF-8 字符串(有效值:NONE | DISABLED | BACKWARD | BACKWARD_ALL | FORWARD | FORWARD_ALL | FULL | FULL_ALL)。

    架构兼容性模式。

  • SchemaCheckpoint – 数字 (long),不小于 1 或大于 100000。

    检查点的版本号(上次更改兼容性模式的时间)。

  • LatestSchemaVersion – 数字 (long),不小于 1 或大于 100000。

    与返回的架构定义关联的架构的最新版本。

  • NextSchemaVersion – 数字 (long),不小于 1 或大于 100000。

    与返回的架构定义关联的架构的下一个版本。

  • SchemaStatus – UTF-8 字符串(有效值:AVAILABLE | PENDING | DELETING)。

    架构的状态。

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

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

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

    架构的标签。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    第一个架构版本的唯一标识符。

  • SchemaVersionStatus – UTF-8 字符串(有效值:AVAILABLE | PENDING | FAILURE | DELETING)。

    创建的第一个架构版本的状态。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

GetSchema 操作

详细介绍指定的架构。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaNameRegistryName

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaNameRegistryName

Response

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

    注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    注册表的 Amazon 资源名称 (ARN)。

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

    架构的名称。

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    在创建时指定的架构描述

  • DataFormat – UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • Compatibility – UTF-8 字符串(有效值:NONE | DISABLED | BACKWARD | BACKWARD_ALL | FORWARD | FORWARD_ALL | FULL | FULL_ALL)。

    架构的兼容性模式。

  • SchemaCheckpoint – 数字 (long),不小于 1 或大于 100000。

    检查点的版本号(上次更改兼容性模式的时间)。

  • LatestSchemaVersion – 数字 (long),不小于 1 或大于 100000。

    与返回的架构定义关联的架构的最新版本。

  • NextSchemaVersion – 数字 (long),不小于 1 或大于 100000。

    与返回的架构定义关联的架构的下一个版本。

  • SchemaStatus – UTF-8 字符串(有效值:AVAILABLE | PENDING | DELETING)。

    架构的状态。

  • CreatedTime – UTF-8 字符串。

    创建架构的日期和时间。

  • UpdatedTime – UTF-8 字符串。

    架构的更新日期和时间。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

ListSchemaVersions 操作

返回您创建的架构版本的列表,包含最少的信息。处于“Deleted (已删除)”状态的架构版本将不会包含在结果中。如果没有可用的架构版本,则将返回空结果。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaNameRegistryName

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaNameRegistryName

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

    每页所需的最大结果数。如果未提供该值,则此值默认为每页 25 个。

  • NextToken – UTF-8 字符串。

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

Response

  • Schemas – 对象的数组。SchemaVersionListItem

    包含每个架构版本的详细信息的 SchemaVersionList 对象数组。

  • NextToken – UTF-8 字符串。

    对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

GetSchemaVersion 操作

按创建或注册架构版本时分配的唯一 ID 获取指定的架构。处于“Deleted (已删除)”状态的架构版本将不会包含在结果中。

Request

  • SchemaId – 一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaNameRegistryName

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaNameRegistryName

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的 SchemaVersionId。按架构 ID 提取时,此字段为必填字段。必须提供此包装程序或 SchemaId 包装程序。

  • SchemaVersionNumber – 一个 SchemaVersionNumber 对象。

    架构的版本号。

Response

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的 SchemaVersionId

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

    架构 ID 的架构定义。

  • DataFormat – UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

  • Status – UTF-8 字符串(有效值:AVAILABLE | PENDING | FAILURE | DELETING)。

    架构版本的状态。

  • CreatedTime – UTF-8 字符串。

    架构版本的创建日期和时间。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

GetSchemaVersionsDiff 操作

获取架构注册表中两个存储架构版本之间的指定差异类型中的架构版本差异。

此 API 允许您在同一个架构下比较两个架构定义之间的两个架构版本。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaName 之一。

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaName 之一。

  • FirstSchemaVersionNumber必需:一个 SchemaVersionNumber 对象。

    要比较的两个架构版本中的第一个。

  • SecondSchemaVersionNumber必需:一个 SchemaVersionNumber 对象。

    要比较的两个架构版本中的第二个。

  • SchemaDiffType必需:UTF-8 字符串(有效值:SYNTAX_DIFF)。

    指的是 SYNTAX_DIFF,这是当前支持的 diff 类型。

Response

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

    架构之间的区别,采用 JsonPatch 格式的字符串形式。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • AccessDeniedException

  • InternalServiceException

ListRegistries 操作

返回您创建的注册表的列表,包含最少的注册表信息。处于 Deleting 状态的注册表将不会包含在结果中。如果没有可用的注册表,则将返回空结果。

Request

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

    每页所需的最大结果数。如果未提供该值,则此值默认为每页 25 个。

  • NextToken – UTF-8 字符串。

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

Response

  • Registries – 对象的数组。RegistryListItem

    包含每个注册表的最低限度详细信息的 RegistryDetailedListItem 对象数组。

  • NextToken – UTF-8 字符串。

    对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。

Errors

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

ListSchemas 操作

返回包含最少详细信息的架构的列表。删除状态的架构将不会包含在结果中。如果没有可用的架构,则将返回空结果。

如果未提供 RegistryId,则注册表中的所有架构都将是 API 响应的一部分。

Request

  • RegistryId – 一个 RegistryId 对象。

    可以包含注册表名称和 Amazon 资源名称 (ARN) 的包装程序结构。

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

    每页所需的最大结果数。如果未提供该值,则此值默认为每页 25 个。

  • NextToken – UTF-8 字符串。

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

Response

  • Schemas – 对象的数组。SchemaListItem

    包含每个架构的详细信息的 SchemaListItem 对象数组。

  • NextToken – UTF-8 字符串。

    对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

RegisterSchemaVersion 操作

将新版本添加到现有架构。如果架构的新版本不符合架构集的兼容性要求,则返回错误。此 API 不会创建新架构集,如果架构注册表中不存在该架构集,则会返回 404 错误。

如果这是要在架构注册表中注册的第一个架构定义,此 API 将存储架构版本并立即返回。否则,由于兼容性模式,此调用的运行时间可能长于其他操作。您可以使用 GetSchemaVersion 调用 SchemaVersionId API 来检查兼容性模式。

如果相同的架构定义已经作为版本存储在架构注册表中,则将现有架构的架构 ID 返回到调用方。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaNameRegistryName

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaNameRegistryName

  • SchemaDefinition必需:UTF-8 字符串,长度不少于 1 个字节或超过 170000 个字节,与 Custom string pattern #17 匹配。

    使用 DataFormatSchemaName 设置的架构定义。

Response

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    表示此架构版本的唯一 ID。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    此架构的版本(仅用于同步流,以防这是第一个版本)。

  • Status – UTF-8 字符串(有效值:AVAILABLE | PENDING | FAILURE | DELETING)。

    架构版本的状态。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • ResourceNumberLimitExceededException

  • ConcurrentModificationException

  • InternalServiceException

UpdateSchema 操作

更新架构集的描述、兼容性设置或版本检查点。

对于更新兼容性设置,调用不会使用新的兼容性设置来验证整个架构版本集合的兼容性。如果提供了 Compatibility 的值,则 VersionNumber(检查点)也是必需的。API 将验证检查点版本号以确保一致性。

如果提供了 VersionNumber(检查点)的值,则 Compatibility 是可选的,可用于为架构设置/重置检查点。

此更新仅在架构处于 AVAILABLE 状态时发生。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaName 之一。

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaName 之一。

  • SchemaVersionNumber – 一个 SchemaVersionNumber 对象。

    检查指向所需的版本号。必须提供 VersionNumberCompatibility 之一。

  • Compatibility – UTF-8 字符串(有效值:NONE | DISABLED | BACKWARD | BACKWARD_ALL | FORWARD | FORWARD_ALL | FULL | FULL_ALL)。

    架构的新兼容性设置。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    架构的新描述。

Response

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

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

    架构的名称。

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

    包含架构的注册表的名称。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • ConcurrentModificationException

  • InternalServiceException

CheckSchemaVersionValidity 操作

验证提供的架构。此调用没有副作用,它只是使用 DataFormat 作为格式来使用提供的架构进行验证。由于它不使用架构集名称,因此不执行兼容性检查。

Request

  • DataFormat必需:UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • SchemaDefinition必需:UTF-8 字符串,长度不少于 1 个字节或超过 170000 个字节,与 Custom string pattern #17 匹配。

    必须验证的架构的定义。

Response

  • Valid – 布尔值。

    如果架构有效,则返回 true,否则返回 false。

  • Error – UTF-8 字符串,长度不少于 1 个字节或超过 5000 个字节。

    验证失败错误消息。

Errors

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

UpdateRegistry 操作

更新用于保存架构集合的现有注册表。更新后的属性与注册表有关,不会修改注册表中的任何架构。

Request

  • RegistryId必需:一个 RegistryId 对象。

    这是一个包装程序结构,其中可能包含注册表名称和 Amazon 资源名称 (ARN)。

  • Description必需:描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    注册表的描述。如果未提供描述,则此字段将不会更新。

Response

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

    更新后的注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    更新的注册表的 Amazon 资源名称 (ARN)。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • ConcurrentModificationException

  • InternalServiceException

GetSchemaByDefinition 操作

通过 SchemaDefinition 检索架构。 架构定义将发送到架构注册表、规范化和哈希化。如果哈希在 SchemaName 或 ARN(或默认注册表,如果未提供)的范围内匹配,则返回该架构的元数据。否则,将返回 404 或 NotFound 错误。处于 Deleted 状态的架构版本将不会包含在结果中。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包含架构身份字段的包装结构。该结构包含:

    • SchemaId $SchemaArn:架构的 Amazon 资源名称 (ARN)。必须提供 SchemaArnSchemaName 之一。

    • SchemaId $SchemaName:架构的名称。必须提供 SchemaArnSchemaName 之一。

  • SchemaDefinition必需:UTF-8 字符串,长度不少于 1 个字节或超过 170000 个字节,与 Custom string pattern #17 匹配。

    需要架构详细信息的架构的定义。

Response

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的架构 ID。

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

  • DataFormat – UTF-8 字符串(有效值:AVRO)。

    架构定义的数据格式。目前仅支持 AVRO

  • Status – UTF-8 字符串(有效值:AVAILABLE | PENDING | FAILURE | DELETING)。

    架构版本的状态。

  • CreatedTime – UTF-8 字符串。

    创建架构的日期和时间。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

GetRegistry 操作

详细介绍指定的注册表。

Request

  • RegistryId必需:一个 RegistryId 对象。

    这是一个包装程序结构,其中可能包含注册表名称和 Amazon 资源名称 (ARN)。

Response

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

    注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    注册表的 Amazon 资源名称 (ARN)。

  • Description – 描述字符串,不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    注册表的描述。

  • Status – UTF-8 字符串(有效值:AVAILABLE | DELETING)。

    注册表的状态。

  • CreatedTime – UTF-8 字符串。

    创建注册表的日期和时间。

  • UpdatedTime – UTF-8 字符串。

    注册表的更新日期和时间。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

PutSchemaVersionMetadata 操作

放置指定架构版本 ID 的元数据键值对。每个架构版本最多允许 10 个键值对。可通过一个或多个调用添加它们。

Request

  • SchemaId – 一个 SchemaId 对象。

    架构的唯一 ID。

  • SchemaVersionNumber – 一个 SchemaVersionNumber 对象。

    架构的版本号。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一版本 ID。

  • MetadataKeyValue必需:一个 MetadataKeyValuePair 对象。

    元数据键的对应值。

Response

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

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

    架构的名称。

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

    注册表的名称。

  • LatestVersion – 布尔值。

    架构的最新版本。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一版本 ID。

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

    元数据键。

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

    元数据键的值。

Errors

  • InvalidInputException

  • AccessDeniedException

  • AlreadyExistsException

  • EntityNotFoundException

  • ResourceNumberLimitExceededException

QuerySchemaVersionMetadata 操作

查询架构版本元数据信息。

Request

  • SchemaId – 一个 SchemaId 对象。

    一个可以包含架构名称和 Amazon 资源名称 (ARN) 的包装程序结构。

  • SchemaVersionNumber – 一个 SchemaVersionNumber 对象。

    架构的版本号。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一版本 ID。

  • MetadataList – 对象的数组。MetadataKeyValuePair

    搜索元数据的键值对(如果未向它们提供),则将提取所有元数据信息。

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

    每页所需的最大结果数。如果未提供该值,则此值默认为每页 25 个。

  • NextToken – UTF-8 字符串。

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

Response

  • MetadataInfoMap – 键值对的映射数组。

    每个键是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #18 匹配。

    每个值都是一个 MetadataInfo 对象。

    元数据键和关联值的映射。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一版本 ID。

  • NextToken – UTF-8 字符串。

    对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个,则返回)。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

RemoveSchemaVersionMetadata 操作

从指定架构版本 ID 的架构版本元数据中删除键值对。

Request

  • SchemaId – 一个 SchemaId 对象。

    一个可以包含架构名称和 Amazon 资源名称 (ARN) 的包装程序结构。

  • SchemaVersionNumber – 一个 SchemaVersionNumber 对象。

    架构的版本号。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的唯一版本 ID。

  • MetadataKeyValue必需:一个 MetadataKeyValuePair 对象。

    元数据键的值。

Response

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    架构的 Amazon 资源名称 (ARN)。

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

    架构的名称。

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

    注册表的名称。

  • LatestVersion – 布尔值。

    架构的最新版本。

  • VersionNumber – 数字 (long),不小于 1 或大于 100000。

    架构的版本号。

  • SchemaVersionId – UTF-8 字符串,长度不少于 36 个字节或超过 36 个字节,与 Custom string pattern #11 匹配。

    架构版本的版本 ID。

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

    元数据键。

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

    元数据键的值。

Errors

  • InvalidInputException

  • AccessDeniedException

  • EntityNotFoundException

DeleteRegistry 操作

删除整个注册表,包括架构及其所有版本。要获取删除操作的状态,您可以在异步调用后调用 GetRegistry API。删除注册表将禁用注册表的所有在线操作,例如 UpdateRegistryCreateSchemaUpdateSchemaRegisterSchemaVersion APIs。

Request

  • RegistryId必需:一个 RegistryId 对象。

    这是一个包装程序结构,其中可能包含注册表名称和 Amazon 资源名称 (ARN)。

Response

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

    要删除的注册表的名称。

  • RegistryArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    要删除的注册表的 Amazon 资源名称 (ARN)。

  • Status – UTF-8 字符串(有效值:AVAILABLE | DELETING)。

    注册表的状态。成功的操作将返回 Deleting 状态。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • AccessDeniedException

  • ConcurrentModificationException

DeleteSchema 操作

删除整个架构集,包括架构集及其所有版本。要获取删除操作的状态,您可以在异步调用后调用 GetSchema API。删除注册表将禁用架构的所有在线操作,例如 GetSchemaByDefinitionRegisterSchemaVersion APIs。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包装程序结构,其中可能包含架构名称和 Amazon 资源名称 (ARN)。

Response

  • SchemaArn – UTF-8 字符串,长度不少于 1 个字节或超过 10240 个字节,与 AWS Glue ARN string pattern 匹配。

    要删除的架构的 Amazon 资源名称 (ARN)。

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

    要删除的架构的名称。

  • Status – UTF-8 字符串(有效值:AVAILABLE | PENDING | DELETING)。

    架构的状态。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • AccessDeniedException

  • ConcurrentModificationException

DeleteSchemaVersions 操作

从指定架构中删除版本。可以提供版本号或范围。如果兼容性模式禁止删除所需的版本 (如 BACKWARDS_FULL),则会返回错误。在此调用后调用 GetSchemaVersions API 将列出已删除版本的状态。

当版本号的范围包含检查点版本时,API 将返回 409 冲突,并且不会继续删除。在使用此 API 之前,您必须先使用 DeleteSchemaCheckpoint API 删除检查点。

您不能使用 DeleteSchemaVersions API 删除架构集中的第一个架构版本。第一个架构版本只能由 DeleteSchema API 删除。此操作还将删除架构版本下附加的 SchemaVersionMetadata。硬删除将在数据库上实施。

如果兼容性模式禁止删除所需的版本 (如 BACKWARDS_FULL),则会返回错误。

Request

  • SchemaId必需:一个 SchemaId 对象。

    这是一个包装程序结构,其中可能包含架构名称和 Amazon 资源名称 (ARN)。

  • Versions必需:UTF-8 字符串,长度不少于 1 个字节或超过 100000 个字节,与 Custom string pattern #19 匹配。

    可以提供以下格式的版本范围:

    • 单个版本号,5

    • 范围 5-8:删除版本 5、6、7、8

Response

  • SchemaVersionErrors – 对象的数组。SchemaVersionErrorItem

    对象的列表,每个对象包含错误和架构版本。SchemaVersionErrorItem

Errors

  • InvalidInputException

  • EntityNotFoundException

  • AccessDeniedException

  • ConcurrentModificationException