PutGridFS Processor
描述
将文件写入 GridFS 存储桶。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Client Service | | 控制器服务 API:MongoDBClientServicecn.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 Uniqueness | none |
| 启用后,此选项将确保在存储桶上实施唯一性。它将通过创建与您选择匹配的 MongoDB 索引来实现。理想情况下应在首次创建存储桶时配置一次,因为在包含大量数据的现有存储桶上构建可能需要很长时间。 |
| Hash Attribute | hash.value | 如果启用了唯一性强制且文件哈希是约束的一部分,则必须将其设置为所有传入 FlowFile 上都存在的属性。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Chunk Size | 256 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 内容之前,先查询现有数据,检查是否已存在匹配 条件的文件。