Bases: airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
與 Amazon Elastic Compute Cloud (EC2) 互動。
提供 boto3.client("ec2") 或 boto3.resource("ec2") 的厚封裝。
- 引數:
api_type – 如果設定為 client_type,則 Hook 使用 boto3.client("ec2") 的能力;如果設定為 resource_type,則 Hook 使用 boto3.resource("ec2") 的能力。
可以指定附加引數(例如 aws_conn_id),這些引數會傳遞給底層的 AwsBaseHook。
-
API_TYPES[source]
-
get_instance(instance_id, filters=None)[source]
根據 ID 獲取 EC2 例項並返回它。
- 引數:
-
- 返回:
例項物件
-
stop_instances(instance_ids)[source]
停止指定 ID 的例項。
- 引數:
instance_ids (list) – 要停止的例項 ID 列表
- 返回:
一個字典,鍵為 StoppingInstances,值為正在停止的例項列表
- 返回型別:
dict
-
start_instances(instance_ids)[source]
啟動指定 ID 的例項。
- 引數:
instance_ids (list) – 要啟動的例項 ID 列表
- 返回:
一個字典,鍵為 StartingInstances,值為正在啟動的例項列表
- 返回型別:
dict
-
terminate_instances(instance_ids)[source]
終止指定 ID 的例項。
- 引數:
instance_ids (list) – 要終止的例項 ID 列表
- 返回:
一個字典,鍵為 TerminatingInstances,值為正在終止的例項列表
- 返回型別:
dict
-
describe_instances(filters=None, instance_ids=None)[source]
描述 EC2 例項,可選地應用過濾器和指定例項 ID。
- 引數:
-
- 返回:
來自 EC2 describe_instances API 的響應
-
get_instances(filters=None, instance_ids=None)[source]
獲取例項詳細資訊列表,可選地應用過濾器和指定例項 ID。
- 引數:
-
- 返回:
例項列表
- 返回型別:
list
-
get_instance_ids(filters=None)[source]
獲取例項 ID 列表,可選地應用過濾器以獲取指定的例項。
- 引數:
filters (list | None) – 用於指定要獲取的例項的過濾器列表
- 返回:
例項 ID 列表
- 返回型別:
list
-
async get_instance_state_async(instance_id)[source]
-
get_instance_state(instance_id)[source]
根據 ID 獲取 EC2 例項狀態並返回它。
- 引數:
instance_id (str) – AWS EC2 例項的 ID
- 返回:
例項的當前狀態
- 返回型別:
str
-
wait_for_state(instance_id, target_state, check_interval)[source]
等待 EC2 例項直到其狀態等於 target_state。
- 引數:
instance_id (str) – AWS EC2 例項的 ID
target_state (str) – 例項的目標狀態
check_interval (float) – 在每次例項狀態檢查之間作業應等待的秒數,直到操作完成
- 返回:
None
- 返回型別:
None