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

架构注册表入门

以下部分概述和演示了如何设置和使用架构注册表。有关架构注册表概念和组件的信息,请参阅Amazon Glue 架构注册表

用于序列化程序的 IAM 示例

注意

Amazon 托管策略将授予针对常用使用案例的必要权限。有关使用托管策略管理模式注册表的信息,请参阅适用于 Amazon Glue 的 Amazon 托管(预定义)策略

对于序列化程序,您应该创建类似如下的最低策略,以便您能够找到针对指定架构定义的 schemaVersionId。请注意,您应该对注册表具有读取权限,以便读取注册表中的架构。您可以使用 Resource 子句,限制可以读取的注册表。

代码示例 13:

{ "Sid" : "GetSchemaByDefinition", "Effect" : "Allow", "Action" : [ "glue:GetSchemaByDefinition" ], "Resource" : ["arn:aws:glue:us-east-2:012345678:registry/registryname-1", "arn:aws:glue:us-east-2:012345678:schema/registryname-1/schemaname-1", "arn:aws:glue:us-east-2:012345678:schema/registryname-1/schemaname-2" ] }

此外,您还可以允许创建者包括以下额外的方法,以创建新的架构和版本。请注意,您应该能够检查注册表,以便添加/删除/演变其中的架构。您可以使用 Resource 子句,限制可以检查的注册表。

代码示例 14:

{ "Sid" : "RegisterSchemaWithMetadata", "Effect" : "Allow", "Action" : [ "glue:GetSchemaByDefinition", "glue:CreateSchema", "glue:RegisterSchemaVersion", "glue:PutSchemaVersionMetadata", ], "Resource" : ["arn:aws:glue:aws-region:123456789012:registry/registryname-1", "arn:aws:glue:aws-region:123456789012:schema/registryname-1/schemaname-1", "arn:aws:glue:aws-region:123456789012:schema/registryname-1/schemaname-2" ] }

用于反序列化程序的 IAM 示例

对于反序列化程序(使用者端),您应创建类似如下的策略,以允许反序列化程序从架构注册表中获取架构以进行反序列化。请注意,您应该能够检查注册表,以便获取其中的架构。

代码示例 15:

{ "Sid" : "GetSchemaVersion", "Effect" : "Allow", "Action" : [ "glue:GetSchemaVersion" ], "Resource" : ["*"] }

使用 Amazon PrivateLink 的私有连接

您可以使用 Amazon PrivateLink 将您的数据创建者的 VPC 连接到 Amazon Glue,方法是为 Amazon Glue 定义接口 VPC 终端节点。当您使用 VPC 接口端点时,您的 VPC 与 Amazon Glue 之间的通信完全在 Amazon 网络内进行。有关更多信息,请参阅将 Amazon Glue 与接口 VPC 终端节点一起使用