airflow.providers.google.suite.hooks.drive

用于 Google Drive 服务的 Hook。

模块内容

GoogleDriveHook

用于 Google Drive API 的 Hook。

class airflow.providers.google.suite.hooks.drive.GoogleDriveHook(api_version='v3', gcp_conn_id='google_cloud_default', impersonation_chain=None)[源代码]

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

用于 Google Drive API 的 Hook。

参数
  • api_version (str) – 使用的 API 版本(例如 v3)。

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

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

get_conn()[源代码]

检索与 Google Drive 的连接。

返回

Google Drive 服务对象。

返回类型

Any

get_media_request(file_id)[源代码]

返回对 Google Drive 对象的 get_media http 请求。

参数

file_id (str) – Google Drive 文件 ID

返回

request

返回类型

googleapiclient.http.HttpRequest

exists(folder_id, file_name, drive_id=None, *, include_trashed=True)[源代码]

检查 Google Drive 文件夹中是否存在文件。

参数
  • folder_id (str) – 文件所在的 Google Drive 文件夹的 ID

  • file_name (str) – Google Drive 中的文件名

  • drive_id (str | None) – 可选。文件所在的共享 Google Drive 的 ID。

  • include_trashed (bool) – 是否包含回收站中的对象,默认值为 True,与 Google API 中相同。

返回

如果文件存在,则为 True,否则为 False

返回类型

bool

get_file_id(folder_id, file_name, drive_id=None, *, include_trashed=True)[源代码]

返回 Google Drive 文件的文件 ID。

参数
  • folder_id (str) – 文件所在的 Google Drive 文件夹的 ID

  • file_name (str) – Google Drive 中的文件名

  • drive_id (str | None) – 可选。文件所在的共享 Google Drive 的 ID。

  • include_trashed (bool) – 是否包含回收站中的对象,默认值为 True,与 Google API 中相同。

返回

如果文件存在,则返回 Google Drive 文件 ID,否则返回 None

返回类型

dict

upload_file(local_location, remote_location, chunk_size=100 * 1024 * 1024, resumable=False, folder_id='root', show_full_target_path=True)[源代码]

将本地可用的文件上传到 Google Drive 服务。

参数
  • local_location (str) – 文件可用的路径。

  • remote_location (str) – 文件将发送到的路径

  • chunk_size (int) – 文件将以这么多字节的块上传。仅当 resumable=True 时使用。如果文件要作为单个块上传,则传入 -1 的值。请注意,Google App Engine 对请求大小有限制为 5MB,因此您永远不应将块大小设置为大于 5MB,也不应设置为 -1。

  • resumable (bool) – 如果这是可恢复的上传,则为 True。 False 表示以单个请求上传。

  • folder_id (str) – remote_location 的基本/根文件夹 ID(文件夹的驱动器 URL 的一部分)。

  • show_full_target_path (bool) – 如果为 true,则会在日志中显示完整的可用文件路径。

返回

文件 ID

返回类型

str

download_file(file_id, file_handle, chunk_size=100 * 1024 * 1024)[源代码]

从 Google Drive 下载文件。

参数
  • file_id (str) – 文件的 ID

  • file_handle (IO) – 用于将内容写入的文件句柄

  • chunk_size (int) – 文件将以这么多字节的块下载。

此条目是否有帮助?