AWSGlue爬虫-DynamoDB导出-获取模式中的属性名称而不是结构
创始人
2024-09-25 16:01:13
0

要获取 DynamoDB 表的属性名称,在 AWS Glue 中使用以下代码示例:

import boto3

# 创建 DynamoDB 客户端
ddb = boto3.client('dynamodb')

# 定义 DynamoDB 表名
table_name = 'your DynamoDB table name'

# 获取表描述
table_desc = ddb.describe_table(TableName=table_name)

# 获取属性名称列表
attribute_names = [attr['AttributeName'] for attr in table_desc['Table']['AttributeDefinitions']]

print(attribute_names)

然后,您可以将此列表传递给 AWS Glue 转换作业中的 DynamoDB 输入源,以获取仅包含属性名称的模式。使用以下代码示例:

import boto3
import sys
from awsglue.transforms import *
from awsglue.dynamicframe import DynamicFrame

# 创建 DynamoDB 客户端
ddb = boto3.client('dynamodb')

# 定义 DynamoDB 表名
table_name = 'your DynamoDB table name'

# 获取表描述
table_desc = ddb.describe_table(TableName=table_name)

# 获取属性名称列表
attribute_names = [attr['AttributeName'] for attr in table_desc['Table']['AttributeDefinitions']]

# 创建动态帧
dynamic_frame = glueContext.create_dynamic_frame.from_options(
   "dynamodb",
   connection_options={
       "dynamodb.input.tableName": table_name,
       "dynamodb.throughput.read.percent": "0.5",
       "dynamodb.splits": "100"
   },
   format_options={
       "dynamodb": {
           "json": "true"
       }
   },
   transformation_ctx="dyn_glue_table"
)

# 获取只包含属性名称的 schema
schema = StructType([StructField(name, StringType(), True) for name in attribute_names])

# 将动态帧转换为包含模式的动态帧
df_with_schema = DynamicFrame.fromDF(dynamic_frame.toDF(), glueContext, "df_with_schema").withSchema(schema)

print(df_with_schema.schema())

相关内容

热门资讯

关于!微信微乐自建房辅助工具,... 关于!微信微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)方法1)微乐家乡麻将自建房辅...
大家学习交流!微信卡五星辅助器... 大家学习交流!微信卡五星辅助器,微乐小程序免费黑科技(开挂自建房)方法1、很好的工具软件,可以解锁游...
三分钟了解!微乐微信自建房辅助... 三分钟了解!微乐微信自建房辅助工具插件,微乐家乡麻将自建房辅助app(开挂自建房)工具1、三分钟了解...
一分钟教会你!微乐家乡麻将自建... 一分钟教会你!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)方法1、用户打开应用...
分享实测!微信微乐自建房辅助工... 分享实测!微信微乐自建房辅助工具,微乐自建房脚本免费入口(开挂自建房)器1、起透看视 微信微乐自建房...
重大通报!微乐自建房辅助工具脚... 重大通报!微乐自建房辅助工具脚本,微乐小程序免费黑科技(开挂自建房)app微乐自建房辅助工具脚本破解...
如何分辨真伪!微乐微信自建房辅... 如何分辨真伪!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)技巧1、微乐微信自建房辅...
我来教教你!微乐自建房辅助工具... 我来教教你!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)工具1、玩家可以在微乐家...
重大来袭!微乐自建房辅助工具神... 重大来袭!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)器1、游戏颠覆性的策略玩法,独创...
带你了解!微信卡五星辅助器,微... 带你了解!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)方法1、带你了解!微信卡五星辅助器,...