PutGridFS

文档中心 › 组件索引 › PutGridFS

PutGridFS Processor

类型全限定名:cn.org.acal.lynxus.processors.mongodb.gridfs.PutGridFS

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

描述

将文件写入 GridFS 存储桶。

标签

mongogridfsputfilestore

属性

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

名称默认值可选值描述
Client Service控制器服务 API:
MongoDBClientService
cn.org.acal.lynxus-lynxus-mongodb-client-service-api-nar-2.11.8
用于数据库连接的 MongoDB 客户端服务。
Mongo Database Name要使用的数据库的名称
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Bucket Name文件将存储到的 GridFS 存储桶。如果留空,将使用 MongoDB 客户端驱动程序使用的默认值 'fs'。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
File Name存储桶中作为此处理器目标的文件名。GridFS 文件名不包含路径信息,因为 GridFS 不会在存储桶内将文件分类到文件夹中。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
File Properties Prefix具有此前缀的属性将作为元数据添加到存储在 GridFS 中的文件中。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Enforce Uniquenessnone
  • 无 — 不会强制执行唯一性。
  • 两者 — 文件名和哈希都必须是唯一的。
  • 名称 — 只有文件名必须是唯一的。
  • 哈希 — 只有文件哈希必须是唯一的。
启用后,此选项将确保在存储桶上实施唯一性。它将通过创建与您选择匹配的 MongoDB 索引来实现。理想情况下应在首次创建存储桶时配置一次,因为在包含大量数据的现有存储桶上构建可能需要很长时间。
Hash Attributehash.value如果启用了唯一性强制且文件哈希是约束的一部分,则必须将其设置为所有传入 FlowFile 上都存在的属性。
支持表达式语言:是(仅使用环境/系统变量求值)
Chunk Size256 KB控制上传到 GridFS 的文件的每个块的最大大小。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)

关系 (Relationships)

名称描述自动终止
duplicate未通过重复检查的FlowFile将发送到此关系。否
failure当处理 FlowFile 失败时,就会转到此关系。否
success当操作成功时,FlowFile将被发送到该关系。否

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件要求有传入连接。

详细说明

PutGridFS

说明

该 Processor 把带有若干用户自定义元数据值的文件写入所配置桶的 GridFS。它允许用户定义摄取时每个文件分块的大小,并提供一定的能力, 使用文件名或哈希值智能地尝试强制文件唯一性,而不是只依赖数据库索引。

GridFS 文件 Attribute

PutGridFS 允许把以配置前缀开头的 FlowFile Attribute 添加到 GridFS 文档。这在后续使用 GridFS 时非常有用,可以为文件提供元数据。

分块大小(Chunk Size)

GridFS 在文件被摄取到数据库时,会把文件拆分为 Mongo 文档中的 分块。chunk size 配置参数配置每个分块的最大大小。除非有特定的 业务原因需要增大或减小,该字段应保持默认值。

唯一性强制

有四种工作模式:

  • 应用层不强制。
  • 按唯一文件名强制。
  • 按唯一哈希值强制。
  • 同时使用哈希和文件名。

哈希值默认取自 hash.value Attribute,可以在 PutGridFS 上游 配置 HashContent Processor 来生成。哈希和文件名两种方式都会在 尝试写入 FlowFile 内容之前,先查询现有数据,检查是否已存在匹配 条件的文件。