airflow.providers.amazon.aws.transfers.dynamodb_to_s3

模块内容

JSONEncoder

自定义 json 编码器实现。

DynamoDBToS3Operator

将 DynamoDB 表中的记录复制到 S3。

class airflow.providers.amazon.aws.transfers.dynamodb_to_s3.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

基类: json.JSONEncoder

自定义 json 编码器实现。

default(obj)[source]

将十进制对象转换为 json 可序列化格式。

class airflow.providers.amazon.aws.transfers.dynamodb_to_s3.DynamoDBToS3Operator(*, dynamodb_table_name, s3_bucket_name, file_size=1000, dynamodb_scan_kwargs=None, s3_key_prefix='', process_func=_convert_item_to_json_bytes, point_in_time_export=False, export_time=None, export_format='DYNAMODB_JSON', export_table_to_point_in_time_kwargs=None, check_interval=30, max_attempts=60, **kwargs)[source]

基类: airflow.providers.amazon.aws.transfers.base.AwsToAwsBaseOperator

将 DynamoDB 表中的记录复制到 S3。

它扫描 DynamoDB 表,并将接收到的记录写入本地文件系统上的文件。 一旦文件大小超过用户指定的文件大小限制,它会将文件刷新到 S3。

用户还可以使用 dynamodb_scan_kwargs 指定过滤条件,以便仅复制满足条件的记录。

另请参阅

有关如何使用此操作符的更多信息,请查看指南: Amazon DynamoDB 到 Amazon S3 传输操作符

参数
  • dynamodb_table_name (str) – 要从中复制数据的 Dynamodb 表

  • s3_bucket_name (str) – 要将数据复制到的 S3 存储桶

  • file_size (int) – 如果文件大小 >= file_size,则将文件刷新到 s3

  • dynamodb_scan_kwargs (dict[str, Any] | None) – 传递给 <https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Table.scan> 的 kwargs

  • s3_key_prefix (str) – S3 对象键的前缀

  • process_func (Callable[[dict[str, Any]], bytes]) – 我们如何将 dynamodb 项转换为字节。 默认情况下,我们转储 json

  • point_in_time_export (bool) – 指示操作符使用“扫描”还是“时间点导出”的布尔值

  • export_time (datetime.datetime | None) – 要从中导出表数据的过去时间,从 Unix epoch 的开始计算(以秒为单位)。表导出将是该时间点的表状态快照。

  • export_format (str) – 导出数据的格式。 ExportFormat 的有效值为 DYNAMODB_JSON 或 ION。

  • export_table_to_point_in_time_kwargs (dict | None) – boto3 export_table_to_point_in_time 函数的所有额外参数。 例如 ExportTypeIncrementalExportSpecification

  • check_interval (int) – 尝试之间等待的秒数。 仅当提供 export_time 时。

  • max_attempts (int) – 要尝试的最大次数。 仅当提供 export_time 时。

template_fields: collections.abc.Sequence[str] = ()[source]
template_fields_renderers[source]
hook()[source]

创建 DynamoDBHook。

execute(context)[source]

在创建操作符时导出。

上下文是与呈现 jinja 模板时使用的相同字典。

请参考 get_template_context 以获取更多上下文信息。

此条目是否有帮助?