airflow.providers.amazon.aws.hooks.rds

与 AWS RDS 进行交互。

RdsHook

与 Amazon 关系型数据库服务 (RDS) 进行交互。

模块内容

class airflow.providers.amazon.aws.hooks.rds.RdsHook(*args, **kwargs)[源码]

继承自: airflow.providers.amazon.aws.hooks.base_aws.AwsGenericHook[mypy_boto3_rds.RDSClient]

与 Amazon 关系型数据库服务 (RDS) 进行交互。

提供对 boto3.client("rds") 的轻量级封装。

可以指定额外的参数(例如 aws_conn_id),这些参数会向下传递给底层的 AwsBaseHook。

get_db_snapshot_state(snapshot_id)[源码]

获取 DB 实例快照的当前状态。

参数:

snapshot_id (str) – 目标 DB 实例快照的 ID

返回值:

以字符串形式返回 DB 快照的状态(例如,“available”)

抛出异常:

AirflowNotFoundException – 如果 DB 实例快照不存在。

返回类型:

str

wait_for_db_snapshot_state(snapshot_id, target_state, check_interval=30, max_attempts=40)[源码]

轮询 DB 快照直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • snapshot_id (str) – 目标 DB 实例快照的 ID

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

get_db_cluster_snapshot_state(snapshot_id)[源码]

获取 DB 集群快照的当前状态。

参数:

snapshot_id (str) – 目标 DB 集群的 ID。

返回值:

以字符串形式返回 DB 集群快照的状态(例如,“available”)

抛出异常:

AirflowNotFoundException – 如果 DB 集群快照不存在。

返回类型:

str

wait_for_db_cluster_snapshot_state(snapshot_id, target_state, check_interval=30, max_attempts=40)[源码]

轮询 DB 集群快照直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • snapshot_id (str) – 目标 DB 集群快照的 ID

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

get_export_task_state(export_task_id)[源码]

获取 RDS 快照导出到 Amazon S3 的当前状态。

参数:

export_task_id (str) – 目标快照导出任务的标识符。

返回值:

以字符串形式返回快照导出任务的状态(例如,“canceled”)

抛出异常:

AirflowNotFoundException – 如果导出任务不存在。

返回类型:

str

wait_for_export_task_state(export_task_id, target_state, check_interval=30, max_attempts=40)[源码]

轮询导出任务直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • export_task_id (str) – 目标快照导出任务的标识符。

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

get_event_subscription_state(subscription_name)[源码]

获取 RDS 快照导出到 Amazon S3 的当前状态。

参数:

subscription_name (str) – 目标 RDS 事件通知订阅的名称。

返回值:

以字符串形式返回事件订阅的状态(例如,“active”)

抛出异常:

AirflowNotFoundException – 如果事件订阅不存在。

返回类型:

str

wait_for_event_subscription_state(subscription_name, target_state, check_interval=30, max_attempts=40)[源码]

轮询事件订阅直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • subscription_name (str) – 目标 RDS 事件通知订阅的名称。

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

get_db_instance_state(db_instance_id)[源码]

获取 DB 实例的当前状态。

参数:

db_instance_id (str) – 目标 DB 实例的 ID。

返回值:

以字符串形式返回 DB 实例的状态(例如,“available”)

抛出异常:

AirflowNotFoundException – 如果 DB 实例不存在。

返回类型:

str

wait_for_db_instance_state(db_instance_id, target_state, check_interval=30, max_attempts=40)[源码]

轮询 DB 实例直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • db_instance_id (str) – 目标 DB 实例的 ID。

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

get_db_cluster_state(db_cluster_id)[源码]

获取 DB 集群的当前状态。

参数:

db_cluster_id (str) – 目标 DB 集群的 ID。

返回值:

以字符串形式返回 DB 集群的状态(例如,“available”)

抛出异常:

AirflowNotFoundException – 如果 DB 集群不存在。

返回类型:

str

wait_for_db_cluster_state(db_cluster_id, target_state, check_interval=30, max_attempts=40)[源码]

轮询 DB 集群直到达到目标状态;在达到最大尝试次数后抛出 AirflowException。

参数:
  • db_cluster_id (str) – 目标 DB 集群的 ID。

  • target_state (str) – 等待直到达到此状态

  • check_interval (int) – 每次尝试之间等待的时间(秒)

  • max_attempts (int) – 最大尝试次数

这条目有帮助吗?