airflow.providers.google.cloud.hooks.compute
¶
该模块包含一个 Google Compute Engine Hook。
模块内容¶
类¶
包含 GCE 操作状态的类。 |
|
用于 Google Compute Engine API 的 Hook。 |
属性¶
- class airflow.providers.google.cloud.hooks.compute.ComputeEngineHook(api_version='v1', gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[源代码]¶
基类:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook
用于 Google Compute Engine API 的 Hook。
在 hook 中使用 project_id 的所有方法都必须使用关键字参数而不是位置参数来调用。
- insert_instance_template(body, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[源代码]¶
使用指定的 body 创建实例模板。
必须使用关键字参数而不是位置参数来调用。
- 参数
body (dict) – 实例模板表示为对象。
request_id (str | None) – 你可能添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应该是 RFC 4122 中定义的 UUID 格式
project_id (str) – Google Cloud 项目 ID,其中存在 Compute Engine 实例模板。如果设置为 None 或缺少,则使用 Google Cloud 连接中的默认 project_id。
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- delete_instance_template(resource_id, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[源代码]¶
删除实例模板。
删除实例模板是永久性的,无法撤消。无法删除已由托管实例组使用的模板。必须使用关键字参数而不是位置参数来调用。
- 参数
resource_id (str) – Compute Engine 实例模板资源的名称。
request_id (str | None) – 你可能添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应该是 RFC 4122 中定义的 UUID 格式
project_id (str) – Google Cloud 项目 ID,其中存在 Compute Engine 实例模板。如果设置为 None 或缺少,则使用 Google Cloud 连接中的默认 project_id。
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- get_instance_template(resource_id, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[source]¶
根据 project_id 和 resource_id 检索实例模板。
必须使用关键字参数而不是位置参数来调用。
- 参数
resource_id (str) – 实例模板的名称。
project_id (str) – Google Cloud 项目 ID,其中存在 Compute Engine 实例模板。如果设置为 None 或缺少,则使用 Google Cloud 连接中的默认 project_id。
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
实例模板表示为对象,具体请参考 https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates
- 返回类型
- insert_instance(body, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, source_instance_template=None, retry=None, timeout=None, metadata=())[source]¶
使用指定的 body 创建实例。
必须使用关键字参数而不是位置参数来调用。
- 参数
body (dict) – 实例表示为对象。至少应包含 ‘name’、‘machine_type’、‘disks’ 和 ‘network_interfaces’ 字段,但不包含 ‘zone’ 字段,因为 ‘zone’ 字段将在 ‘zone’ 参数中指定。完整或部分 URL,可以表示为以下示例:1. “machine_type”: “projects/your-project-name/zones/your-zone/machineTypes/your-machine-type” 2. “source_image”: “projects/your-project-name/zones/your-zone/diskTypes/your-disk-type” 3. “subnetwork”: “projects/your-project-name/regions/your-region/subnetworks/your-subnetwork”
zone (str) – 实例所在的 Google Cloud 区域
project_id (str) – Google Cloud 项目 ID,其中存在 Compute Engine 实例模板。如果设置为 None 或缺少,则使用 Google Cloud 连接中的默认 project_id。
source_instance_template (str | None) – 在创建新实例时将用作基础的现有实例模板。指定此项时,在创建新实例时,应仅在 ‘body’ 参数中提供新实例的名称作为输入参数。所有其他参数都将按照在实例模板中指定的方式传递给实例。完整或部分 URL,可以表示为以下示例:1. “https://www.googleapis.com/compute/v1/projects/your-project/global/instanceTemplates/temp” 2. “projects/your-project/global/instanceTemplates/temp” 3. “global/instanceTemplates/temp”
request_id (str | None) – 你可能添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应该是 RFC 4122 中定义的 UUID 格式
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- get_instance(resource_id, zone, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[source]¶
根据 project_id 和 resource_id 检索实例。
必须使用关键字参数而不是位置参数来调用。
- 参数
resource_id (str) – 实例的名称
zone (str) – 实例所在的 Google Cloud 区域
project_id (str) – Compute Engine 实例所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用来自 Google Cloud 连接的默认 project_id。
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
实例表示为对象,具体请参考 https://cloud.google.com/compute/docs/reference/rest/v1/instances
- 返回类型
- delete_instance(resource_id, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[source]¶
永久且不可撤销地删除实例。
无法删除由托管实例组正在使用的实例。必须使用关键字参数而不是位置参数调用。
- 参数
resource_id (str) – Compute Engine 实例模板资源的名称。
request_id (str | None) – 你可能添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应该是 RFC 4122 中定义的 UUID 格式
project_id (str) – Google Cloud 项目 ID,其中存在 Compute Engine 实例模板。如果设置为 None 或缺少,则使用 Google Cloud 连接中的默认 project_id。
zone (str) – 实例所在的 Google Cloud 区域
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- start_instance(zone, resource_id, project_id)[source]¶
启动由 project_id、zone 和 resource_id 定义的现有实例。
必须使用关键字参数而不是位置参数来调用。
- stop_instance(zone, resource_id, project_id)[source]¶
停止由 project_id、zone 和 resource_id 定义的实例。
必须使用关键字参数而不是位置参数来调用。
- set_machine_type(zone, resource_id, body, project_id)[source]¶
设置由 project_id、zone 和 resource_id 定义的实例的机器类型。
必须使用关键字参数而不是位置参数来调用。
- 参数
zone (str) – 实例所在的 Google Cloud 区域。
resource_id (str) – Compute Engine 实例资源的名称
body (dict) – Compute Engine setMachineType API 所需的 Body,如 https://cloud.google.com/compute/docs/reference/rest/v1/instances/setMachineType 中所述
project_id (str) – 可选,Compute Engine 实例所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用来自 Google Cloud 连接的默认 project_id。
- 返回
无
- 返回类型
无
- insert_instance_group_manager(body, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[source]¶
使用指定的 body 创建实例组管理器。
创建组后,将使用指定的实例模板创建组中的实例。必须使用关键字参数而不是位置参数调用。
- 参数
body (dict) – 作为对象的实例组管理器表示。
request_id (str | None) – 您可以添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例组管理器)。它应为 RFC 4122 中定义的 UUID 格式。
project_id (str) – Compute Engine 实例组管理器所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。
zone (str) – 实例所在的 Google Cloud 区域
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- get_instance_group_manager(resource_id, zone, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[source]¶
通过 project_id、zone 和 resource_id 检索实例组管理器。
必须使用关键字参数而不是位置参数来调用。
- 参数
resource_id (str) – 托管实例组的名称
zone (str) – 实例组管理器所在的 Google Cloud 区域
project_id (str) – Compute Engine 实例组管理器所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- 返回
根据 https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers 的实例组管理器对象表示形式
- 返回类型
- delete_instance_group_manager(resource_id, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[source]¶
永久且不可撤销地删除实例组管理器。
必须使用关键字参数而不是位置参数来调用。
- 参数
resource_id (str) – Compute Engine 实例组管理器资源的名称。
request_id (str | None) – 你可能添加的唯一 request_id,以实现完全的幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应该是 RFC 4122 中定义的 UUID 格式
project_id (str) – Compute Engine 实例组管理器所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。
zone (str) – 实例组管理器所在的 Google Cloud 区域
retry (google.api_core.retry.Retry | None) – 用于重试请求的重试对象。如果指定 None,则不会重试请求。
timeout (float | None) – 等待请求完成的时间量(以秒为单位)。请注意,如果指定了 retry,则超时适用于每次尝试。
metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的其他元数据。
- patch_instance_group_manager(zone, resource_id, body, project_id, request_id=None)[source]¶
使用指定的 body 补丁实例组管理器。
必须使用关键字参数而不是位置参数来调用。
- 参数
zone (str) – 实例组管理器所在的 Google Cloud 区域
resource_id (str) – 实例组管理器的名称
body (dict) – 根据 https://cloud.google.com/compute/docs/reference/rest/beta/instanceTemplates/patch 的实例组管理器表示形式,以 json-merge-patch 对象表示。
request_id (str | None) – 可选,唯一的 request_id,您可以添加它来实现完全幂等性(例如,当客户端调用超时时,使用相同的 request id 重复请求不会再次创建新的实例模板)。它应为 RFC 4122 中定义的 UUID 格式。
project_id (str) – 可选,Compute Engine 实例所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用来自 Google Cloud 连接的默认 project_id。
- 返回
无
- 返回类型
无
- get_instance_address(zone, resource_id, project_id=PROVIDE_PROJECT_ID, use_internal_ip=False)[source]¶
返回与实例关联的网络地址。