FetchGoogleDrive

文档中心 › 组件索引 › FetchGoogleDrive

FetchGoogleDrive Processor

类型全限定名:cn.org.acal.lynxus.processors.gcp.drive.FetchGoogleDrive

所属 Bundle:cn.org.acal.lynxus:lynxus-gcp-nar:2.11.8

描述

从 Google 云端硬盘文件夹中获取文件。 设计为与 ListGoogleDrive 配合使用。 请参阅其他详细信息以设置对 Google 云端硬盘的访问。

标签

googledrivestoragefetch

多处理器协同场景

检索 Google Drive 文件夹中的所有文件

googledrivegoogle cloudstateretrievefetchallstream

配置 ListGoogleDrive:

"Folder ID" 属性应设置为文件所在 Google Drive 文件夹的 ID。     有关如何确定 Google Drive 文件夹 ID 的更多信息,请参阅处理器文档 / 附加详细信息。
    如果要构建的流程将在其他地方重用,最好通过将其设置为类似 `#{GOOGLE_DRIVE_FOLDER_ID}` 的值来参数化     此属性。

"GCP Credentials Provider Service" 属性应指定一个 GCPCredentialsService 实例,以便为访问文件夹提供凭据。

然后将此处理器的 'success' Relationship 连接到 FetchGoogleDrive。

配置 FetchGoogleDrive:

"File ID" = "${drive.id}"

"GCP Credentials Provider Service" 属性应指定一个 GCPCredentialsService 实例,以便为访问存储桶提供凭据。

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
GCP Credentials Provider Service控制器服务 API:
GCPCredentialsService
cn.org.acal.lynxus-lynxus-gcp-services-api-nar-2.11.8
用于获取 Google Cloud Platform 凭据的Controller Service。
File ID${drive.id}要获取的文件的驱动器 ID。 有关如何获取驱动器 ID 的信息,请参阅其他详细信息。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Google Doc Export Typeapplication/pdf
  • PDF
  • Microsoft Word
  • OpenDocument 文本
  • 纯文本
  • 富文本
  • 网页 (HTML)
  • EPUB
Google 文档无法直接从 Google 云端硬盘下载,而必须导出为指定的 MIME 类型。如果传入 FlowFile 的 MIME 类型指示该文件是 Google 文档,则此属性指定导出文档的 MIME 类型。
Google Spreadsheet Export Typeapplication/pdf
  • PDF
  • Microsoft Excel
  • OpenDocument 电子表格
  • CSV(仅首个工作表) — 逗号分隔值。仅导出首个工作表。
  • TSV(仅首个工作表) — 制表符分隔值。仅导出首个工作表。
  • 网页 (HTML)
Google 电子表格无法直接从 Google 云端硬盘下载,而必须导出为指定的 MIME 类型。如果传入 FlowFile 的 MIME 类型指示该文件是 Google 电子表格,则此属性指定导出电子表格的 MIME 类型。
Google Presentation Export Typeapplication/pdf
  • PDF
  • Microsoft PowerPoint
  • OpenDocument 演示文稿
  • 纯文本
Google 演示文稿无法直接从 Google 云端硬盘下载,而必须导出为指定的 MIME 类型。如果传入 FlowFile 的 MIME 类型指示该文件是 Google 演示文稿,则此属性指定导出演示文稿的 MIME 类型。
Google Drawing Export Typeapplication/pdf
  • PDF
  • PNG
  • JPEG
  • SVG
Google 绘图无法直接从 Google 云端硬盘下载,而必须导出为指定的 MIME 类型。如果传入 FlowFile 的 MIME 类型指示该文件是 Google 绘图,则此属性指定导出绘图的 MIME 类型。
Google Drive API ScopeDRIVE_SCOPES
  • Drive Scopes — 使用 Drive 专用范围。推荐用于大多数设置,包括具有全域委派(domain-wide delegation)的服务账号。
  • Cloud Platform — 使用更广泛的云平台范围。 将工作负载联合身份验证与服务帐户模拟结合使用时是必需的。
指定访问 Google Drive 时请求的 OAuth2 范围。'Drive Scopes' 使用特定于 Drive 的范围,推荐用于大多数设置,包括具有域范围委派的服务账户。'Cloud Platform' 使用更广泛的 cloud-platform 范围,在使用具有服务账户模拟的工作负载身份联合时需要此范围。
Proxy Configuration Service控制器服务 API:
ProxyConfigurationService
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定代理配置 Controller Service 来代理网络请求。
Connect Timeout20 sec连接 Google 云端硬盘服务的最长等待时间。
支持表达式语言:是(仅使用环境/系统变量求值)
Read Timeout60 secGoogle 云端硬盘服务响应的最长等待时间。
支持表达式语言:是(仅使用环境/系统变量求值)

关系 (Relationships)

名称描述自动终止
failure对于尝试获取但失败的每个文件,将在此处路由一个 FlowFile。否
success对于每个成功获取的文件,将在此处路由一个 FlowFile。否

读取的 FlowFile 属性

名称描述
drive.id文件的 ID

写入的 FlowFile 属性

名称描述
drive.id文件的 ID
filename文件的名称
mime.type文件的 MIME 类型
drive.size文件的大小。当文件大小不可用时设置为 0(例如外部存储的文件)。
drive.size.available指示文件大小是否已知/可用
drive.timestamp文件的最后修改时间或创建时间(取较大者)。这是因为文件上传到 Google Drive 时会保留原始修改日期。'创建时间'取上传发生的时间。但上传的文件之后仍可被修改。
drive.created.time文件的创建时间
drive.modified.time文件的最后修改时间
drive.owner文件的所有者
drive.last.modifying.user文件的最后修改用户
drive.web.view.link文件的网页查看链接
drive.web.content.link文件的网页内容链接
drive.parent.folder.id文件父文件夹的 ID
drive.parent.folder.name文件父文件夹的名称
drive.shared.drive.id共享驱动器的 ID(如果文件位于共享驱动器上)
drive.shared.drive.name共享驱动器的名称(如果文件位于共享驱动器上)
error.codeGoogle Drive 返回的错误代码
error.messageGoogle Drive 返回的错误消息

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件要求有传入连接。

详细说明

FetchGoogleDrive

从 Lynxus 访问 Google Drive

该 Processor 使用 Google Cloud 凭据进行认证,以访问 Google Drive。 为这些 Processor 准备 Google Cloud 和 Google Drive 账户需要以下步骤:

  1. 在 Google Cloud 中启用 Google Drive API
  2. 授予 Google Drive 文件夹的访问权限
    • 在 Google Cloud Console 中,进入 IAM & Admin -> Service Accounts。
    • 记下将要使用的服务账号的邮箱。
    • 在 Google Drive 中找到要列出的文件夹。
    • 右键点击文件夹 -> Share。
    • 输入服务账号的邮箱。
  3. 找到 File ID 通常 FetchGoogleDrive 与 ListGoogleDrive 配合使用,且 'drive.id' 已设置。 如果 'drive.id' 不可用,可以按以下方式找到文件的 Drive ID:
    • 右键点击文件,选择 "Get Link"。
    • 在弹出窗口中点击 "Copy Link"。
    • 从复制到剪贴板的 URL 中获取文件 ID。例如,如果 URL 是 https://drive.google.com/file/d/16ALV9KIU_KKeNG557zyctqy2Fmzyqtq/view?usp=share_link, 那么 File ID 就是 16ALV9KIU_KKeNG557zyctqy2Fmzyqtq
  4. 在 'File ID' 属性中设置 File ID