You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过boto3获取AWS Glue Schema Registry的schema定义

解决方案

你调用的API不正确,get_schema 接口本身仅返回Schema的基础元数据(兼容性规则、版本号、状态等),不包含具体的Schema结构定义,要获取完整的AVSC定义内容需要调用get_schema_version接口。

实现代码示例

import boto3
import json

glue_client = boto3.client('glue')

# 拉取指定Schema的最新版本定义
resp = glue_client.get_schema_version(
    SchemaId={
        'SchemaArn': schema['SchemaArn']
    },
    # 若需要拉取指定版本,可替换为 SchemaVersionNumber=<版本号>
    LatestVersion=True
)

# 解析获取完整的AVRO Schema结构
avro_schema = json.loads(resp['SchemaDefinition'])

返回结果中的SchemaDefinition字段即为你上传的.avsc文件的完整内容,解析后可直接用于CSV转AVRO的格式校验逻辑。

注意:如果调用接口返回权限拒绝错误,需要为执行代码的IAM身份添加glue:GetSchemaVersion操作的允许权限。

流程正确性说明

你现有的实现思路没有问题:拉取S3的CSV文件、从Glue Schema Registry获取标准Schema、转换为AVRO格式并基于Schema校验,是AWS生态下处理结构化数据格式统一的常规实现方案。

内容的提问来源于stack exchange,提问作者gbeaven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:36:02