airflow.providers.amazon.aws.transfers.s3_to_dynamodb

模块内容

AttributeDefinition

属性定义类型。

KeySchema

键模式类型。

S3ToDynamoDBOperator

将数据从 S3 加载到 DynamoDB。

class airflow.providers.amazon.aws.transfers.s3_to_dynamodb.AttributeDefinition[源代码]

基类:TypedDict

属性定义类型。

AttributeName: str[源代码]
AttributeType: Literal[S, N, B][源代码]
class airflow.providers.amazon.aws.transfers.s3_to_dynamodb.KeySchema[源代码]

基类:TypedDict

键模式类型。

AttributeName: str[源代码]
KeyType: Literal[HASH, RANGE][源代码]
class airflow.providers.amazon.aws.transfers.s3_to_dynamodb.S3ToDynamoDBOperator(*, s3_bucket, s3_key, dynamodb_table_name, dynamodb_key_schema, dynamodb_attributes=None, dynamodb_tmp_table_prefix='tmp', delete_on_error=False, use_existing_table=False, input_format='DYNAMODB_JSON', billing_mode='PAY_PER_REQUEST', import_table_kwargs=None, import_table_creation_kwargs=None, wait_for_completion=True, check_interval=30, max_attempts=240, aws_conn_id='aws_default', **kwargs)[源代码]

基类:airflow.models.BaseOperator

将数据从 S3 加载到 DynamoDB。

存储在 S3 中的数据可以上传到新的或现有的 DynamoDB。支持的文件格式为 CSV、DynamoDB JSON 和 Amazon ION。

参数
  • s3_bucket (str) – 要导入的 S3 存储桶

  • s3_key (str) – 用于从 S3 导入单个或多个对象的前缀键

  • dynamodb_table_name (str) – 要创建的表的名称

  • dynamodb_key_schema (list[KeySchema]) – 主键和排序键。每个元素代表一个主键属性。AttributeName 是属性的名称。KeyType 是属性的角色。有效值为 HASH 或 RANGE

  • dynamodb_attributes (list[AttributeDefinition] | None) – 表的属性名称。AttributeName 是属性的名称,AttributeType 是属性的数据类型。AttributeType 的有效值为:S - 属性为字符串类型,N - 属性为数字类型,B - 属性为二进制类型

  • dynamodb_tmp_table_prefix (str) – 临时 DynamoDB 表的前缀

  • delete_on_error (bool) – 如果设置,则在导入错误的情况下将删除新的 DynamoDB 表

  • use_existing_table (bool) – 是否导入到现有的非新的 DynamoDB 表。如果设置为 true,则首先将数据加载到临时的 DynamoDB 表(使用 AWS ImportTable 服务),然后将数据块检索到内存中并加载到目标表中。如果设置为 false,则将创建一个新的 DynamoDB 表,并且 S3 数据将由 AWS ImportTable 服务批量加载。

  • input_format (Literal[CSV, DYNAMODB_JSON, ION]) – 导入数据的格式。InputFormat 的有效值为 CSV、DYNAMODB_JSON 或 ION

  • billing_mode (Literal[PROVISIONED, PAY_PER_REQUEST]) – 表的计费模式。有效值为 PROVISIONED 或 PAY_PER_REQUEST

  • on_demand_throughput – 读取和写入单元最大数量的额外选项

  • import_table_kwargs (dict[str, Any] | None) – 要传递的任何其他可选导入表参数,例如 ClientToken、InputCompressionType 或 InputFormatOptions。请参阅:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/import_table.html

  • import_table_creation_kwargs (dict[str, Any] | None) – 要传递的任何其他可选导入表创建参数,例如 ProvisionedThroughput、SSESpecification 或 GlobalSecondaryIndexes。请参阅:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/import_table.html

  • wait_for_completion (bool) – 是否等待群集停止

  • check_interval (int) – 状态检查之间等待的秒数

  • max_attempts (int) – 检查作业完成的最大尝试次数

  • aws_conn_id (str | None) – 对 AWS 连接详细信息的引用

property tmp_table_name[源代码]

临时表名称。

template_fields: collections.abc.Sequence[str] = ('s3_bucket', 's3_key', 'dynamodb_table_name', 'dynamodb_key_schema', 'dynamodb_attributes',...[source]
ui_color = '#e2e8f0'[source]
execute(context)[source]

从 Airflow 执行 S3 到 DynamoDB 的作业。

参数

context (airflow.utils.context.Context) – 任务实例的当前上下文

返回

亚马逊资源编号(ARN)

返回类型

str

此条目是否有帮助?