基类:airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
与 Amazon ElastiCache 交互。
提供围绕 boto3.client("elasticache")
的厚封装。
- 参数:
max_retries (int) – 检查复制组可用性和删除复制组的最大重试次数。如果未提供,则默认为 10
exponential_back_off_factor (float) – 决定下一次休眠时间的乘法因子。如果未提供,则默认为 1
initial_poke_interval (float) – 初始休眠时间(秒)。如果未提供,则默认为 60 秒
可以指定其他参数(例如 aws_conn_id
),这些参数会传递给底层的 AwsBaseHook。
-
TERMINAL_STATES[source]
-
max_retries = 10[source]
-
exponential_back_off_factor = 1[source]
-
initial_poke_interval = 60[source]
-
create_replication_group(config)[source]
创建一个 Redis(禁用集群模式)或 Redis(启用集群模式)复制组。
- 参数:
config (dict) – 用于创建复制组的配置
- 返回:
来自 ElastiCache create replication group API 的响应
- 返回类型:
dict
-
delete_replication_group(replication_group_id)[source]
删除现有复制组。
- 参数:
replication_group_id (str) – 要删除的复制组的 ID
- 返回:
来自 ElastiCache delete replication group API 的响应
- 返回类型:
dict
-
describe_replication_group(replication_group_id)[source]
获取有关特定复制组的信息。
- 参数:
replication_group_id (str) – 要描述的复制组的 ID
- 返回:
来自 ElastiCache describe replication group API 的响应
- 返回类型:
dict
-
get_replication_group_status(replication_group_id)[source]
获取复制组的当前状态。
- 参数:
replication_group_id (str) – 要检查状态的复制组的 ID
- 返回:
复制组的当前状态
- 返回类型:
str
-
is_replication_group_available(replication_group_id)[source]
检查复制组是否可用。
- 参数:
replication_group_id (str) – 要检查可用性的复制组的 ID
- 返回:
如果可用则为 True,否则为 False
- 返回类型:
bool
-
wait_for_availability(replication_group_id, initial_sleep_time=None, exponential_back_off_factor=None, max_retries=None)[source]
通过对其进行描述来检查复制组是否可用。
- 参数:
replication_group_id (str) – 要检查可用性的复制组的 ID
initial_sleep_time (float | None) – 初始休眠时间(秒)。如果未提供,则默认为类级别值
exponential_back_off_factor (float | None) – 决定下一次休眠时间的乘法因子。如果未提供,则默认为类级别值
max_retries (int | None) – 检查复制组可用性的最大重试次数。如果未提供,则默认为类级别值
- 返回:
如果复制组可用则为 True,否则为 False
- 返回类型:
bool
-
wait_for_deletion(replication_group_id, initial_sleep_time=None, exponential_back_off_factor=None, max_retries=None)[source]
删除复制组,确保其已被删除或无法删除。
- 参数:
replication_group_id (str) – 要删除的复制组的 ID
initial_sleep_time (float | None) – 初始休眠时间(秒)。如果未提供,则默认为类级别值
exponential_back_off_factor (float | None) – 决定下一次休眠时间的乘法因子。如果未提供,则默认为类级别值
max_retries (int | None) – 检查复制组可用性的最大重试次数。如果未提供,则默认为类级别值
- 返回:
来自 ElastiCache delete replication group API 的响应以及标识是否已删除的标志
-
ensure_delete_replication_group(replication_group_id, initial_sleep_time=None, exponential_back_off_factor=None, max_retries=None)[source]
删除复制组,确保其已被删除或无法删除。
- 参数:
replication_group_id (str) – 要删除的复制组的 ID
initial_sleep_time (float | None) – 初始休眠时间(秒)。如果未提供,则默认为类级别值
exponential_back_off_factor (float | None) – 决定下一次休眠时间的乘法因子。如果未提供,则默认为类级别值
max_retries (int | None) – 检查复制组可用性的最大重试次数。如果未提供,则默认为类级别值
- 返回:
来自 ElastiCache delete replication group API 的响应
- 抛出:
AirflowException – 如果复制组未被删除
- 返回类型:
dict