airflow.providers.google.cloud.hooks.functions

此模块包含一个 Google Cloud Functions Hook。

属性

TIME_TO_SLEEP_IN_SECONDS

CloudFunctionsHook

Google Cloud Functions API。

模块内容

airflow.providers.google.cloud.hooks.functions.TIME_TO_SLEEP_IN_SECONDS = 1[source]
class airflow.providers.google.cloud.hooks.functions.CloudFunctionsHook(api_version, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Google Cloud Functions API。

Hook 中所有使用了 project_id 的方法都必须使用关键字参数调用,而不是位置参数。

api_version[source]
get_conn()[source]

检索到 Cloud Functions 的连接。

返回:

Google Cloud Function 服务对象。

返回类型:

googleapiclient.discovery.build

get_function(name)[source]

获取具有指定名称的 Cloud Function。

参数:

name (str) – 函数的名称。

返回:

表示该函数的 Cloud Functions 对象。

返回类型:

dict

create_new_function(location, body, project_id)[source]

在 body 中指定的位置创建一个新函数。

参数:
  • location (str) – 函数的位置。

  • body (dict) – Cloud Functions insert API 所需的 body。

  • project_id (str) – 函数所属的 Google Cloud Project ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 Project ID。

update_function(name, body, update_mask)[source]

根据指定的 update mask 更新 Cloud Functions。

参数:
  • name (str) – 函数的名称。

  • body (dict) – cloud function patch API 所需的 body。

  • update_mask (list[str]) – update mask - 应进行 patch 的字段数组。

upload_function_zip(location, zip_path, project_id)[source]

上传包含源码的 ZIP 文件。

参数:
  • location (str) – 创建函数的位置。

  • zip_path (str) – 要上传的有效 .zip 文件的路径。

  • project_id (str) – 函数所属的 Google Cloud Project ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 Project ID。

返回:

由 generateUploadUrl 方法返回的上传 URL。

返回类型:

str

delete_function(name)[source]

删除指定的 Cloud Function。

参数:

name (str) – 函数的名称。

call_function(function_id, input_data, location, project_id=PROVIDE_PROJECT_ID)[source]

调用已部署的 Cloud Function。

这是同步执行的,并且仅应用于测试目的,因为允许的流量非常有限。

参数:
  • function_id (str) – 要调用的函数 ID

  • input_data (dict) – 要传递给函数的输入

  • location (str) – 函数所在的位置。

  • project_id (str) – 函数所属的 Google Cloud Project ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 Project ID。

此条目有帮助吗?