airflow.providers.google.common.hooks.discovery_api

此模块允许您连接到 Google Discovery API 服务并查询它。

GoogleDiscoveryApiHook

用于使用 Google API Discovery 服务的 Hook。

模块内容

class airflow.providers.google.common.hooks.discovery_api.GoogleDiscoveryApiHook(api_service_name, api_version, gcp_conn_id='google_cloud_default', impersonation_chain=None)[source]

基类:airflow.providers.google.common.hooks.base_google.GoogleBaseHook

用于使用 Google API Discovery 服务的 Hook。

参数:
  • api_service_name (str) – 需要获取数据的 API 服务名称,例如“youtube”。

  • api_version (str) – 将请求的 API 版本,例如“v3”。

  • gcp_conn_id (str) – 获取连接信息时使用的连接 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务帐号,用于使用短期凭据进行模拟,或者获取列表中最后一个帐号(将在请求中被模拟)的 access_token 所需的帐号链列表。如果设置为字符串,该帐号必须授予原始帐号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予 Service Account Token Creator IAM 角色给直接在其之前的身份,列表中第一个帐号授予原始帐号此角色。

api_service_name[source]
api_version[source]
get_conn()[source]

为给定的 API 服务名称和凭据创建经身份验证的 API 客户端。

返回:

经身份验证的 API 服务。

返回类型:

googleapiclient.discovery.Resource

query(endpoint, data, paginate=False, num_retries=0)[source]

创建一个动态 API 调用,调用 Google API 客户端库中注册的任何 Google API 并查询它。

参数:
  • endpoint (str) –

    API 调用执行方法在客户端库中的路径。例如:“analyticsreporting.reports.batchGet”

    另请参阅

    https://developers.google.com/apis-explorer 获取有关可用方法的更多信息。

  • data (dict) – 给定端点的特定请求所需的数据(端点参数)。

  • paginate (bool) – 如果设置为 True,它将收集所有页的数据。

  • num_retries (int) – 定义请求失败时的重试次数。

返回:

从传入的端点获得的 API 响应。

返回类型:

dict

此条目有帮助吗?