ListDropbox

文档中心 › 组件索引 › ListDropbox

ListDropbox Processor

类型全限定名:cn.org.acal.lynxus.processors.dropbox.ListDropbox

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

描述

从 Dropbox 检索文件列表(忽略快捷方式)。每个列出的文件可能导致一个或多个

标签

dropboxstorage

属性

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

名称默认值可选值描述
Dropbox Credential Service控制器服务 API:
DropboxCredentialService
cn.org.acal.lynxus-lynxus-dropbox-services-api-nar-2.11.8
用于获取 Dropbox 凭据(App Key、App Secret、Access Token、Refresh Token)的控制器服务。请参阅控制器服务的附加详细信息以了解更多信息。
Folder/要从中拉取文件列表的文件夹的 Dropbox 标识符或路径。「Folder」应匹配以下正则表达式模式:/.*|id:.* 。文件夹标识符示例:id:odTlUvbpIEA
支持表达式语言:是(仅使用环境/系统变量求值)
Search Recursivelytrue
  • true
  • false
指示是否列出 Dropbox 文件夹的子文件夹中的文件。
Minimum File Age0 sec文件必须达到的最低年龄才能被考虑; 任何比这更新的文件都将被忽略。
Listing Strategytimestamps
  • 跟踪时间戳 — 此策略跟踪已列取实体的最新时间戳以确定新/更新的实体。由于它只跟踪少量时间戳,因此可以高效管理列取状态。但是,任何新添加或更新的实体如果时间戳早于跟踪的最新时间戳,则无法被此策略拾取。例如,当带有旧时间戳的文件被复制或移动到目标目录且未更新其最后修改时间戳时,就可能发生这种情况。在列取运行时同时写入多个子目录时也可能遗漏文件。
  • 跟踪实体 — 此策略跟踪最新 '实体跟踪时间窗口' 内所有已列取实体的信息以确定新/更新的实体。此策略可以拾取具有旧时间戳的实体,这些实体可能在 '跟踪时间戳' 策略中被遗漏。即使在列取运行时同时写入多个子目录时也能正常工作。但是需要额外的 DistributedMapCache 控制器服务,并且使用更多的 JVM 堆内存。有关其工作方式的更多详细信息,请参阅 '实体跟踪时间窗口' 属性的描述。
  • 时间窗口 — 此策略使用滑动时间窗口。窗口从上一个窗口结束的地方开始,到 '当前时间' 结束。一个周期将列取修改时间落在时间窗口内的文件。即使在列取运行时同时写入多个子目录时也能正常工作。重要提示:此策略仅在托管 Lynxus 的系统和托管文件的系统上的时间都准确时才能正常工作。
  • 不跟踪 — 此策略在没有任何跟踪的情况下列取实体。每次执行此处理器时,同一实体都会被列取。建议更改默认的运行计划值。与持久化状态相关的任何属性都将被忽略。
指定如何确定新的/更新的实体。 有关详细信息,请参阅每个策略的说明。
Entity Tracking State Cache控制器服务 API:
DistributedMapCacheClient
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
已列出的实体存储在指定的缓存中, 以便该处理器能够在 Lynxus 重启或主节点变更后恢复列举。 'Tracking Entities' 策略需要跟踪最近 'Tracking Time Window' 内所有已列出实体的信息。 为支持大量实体,该策略使用 DistributedMapCache 而非托管状态。 缓存键格式为 'ListedEntities::{processorId}(::{nodeId})'。 如果按节点跟踪已列出的实体,则会添加可选的 '::{nodeId}' 部分以分别管理状态。 例如,集群范围缓存键 = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b', 单节点缓存键 = 'ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::lynxus-node3'。 存储的缓存内容是经过 Gzip 压缩的 JSON 字符串。 当目标列举配置发生变化时,缓存键将被删除。 由 'Tracking Entities' 策略使用。
Entity Tracking Time Window3 hours指定该处理器应跟踪已列出实体的时长。 'Tracking Entities' 策略可以选取时间戳位于指定时间窗口内的任何实体。 例如,若设为 '30 minutes',则该处理器运行时,最近 30 分钟内带有时间戳的任何实体都将成为列举目标。 当满足以下任一条件时,已列出的实体被视为 'new/updated' 并发出一个 FlowFile: 1. 不存在于已列出的实体中, 2. 时间戳比缓存的实体更新, 3. 大小与缓存的实体不同。 如果某个缓存实体的时间戳早于指定的时间窗口,该实体将从缓存的已列出实体中移除。 由 'Tracking Entities' 策略使用。
支持表达式语言:是(仅使用环境/系统变量求值)
Entity Tracking Initial Listing Targetall
  • 跟踪时间窗口 — 在首次列取活动中忽略时间戳早于指定 '跟踪时间窗口' 的实体。
  • 所有可用 — 不考虑实体时间戳,在首次列取活动中将列取所有现有实体。
指定应如何处理初始列举。 由 'Tracking Entities' 策略使用。
Record Writer控制器服务 API:
RecordSetWriterFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定用于创建列表的记录写入器。如果未指定,将为每个列出的实体创建一个 FlowFile。如果指定了记录写入器,所有实体将写入单个 FlowFile,而不是将属性添加到各个 FlowFile。
Proxy Configuration Service控制器服务 API:
ProxyConfigurationService
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定代理配置 Controller Service 来代理网络请求。

关系 (Relationships)

名称描述自动终止
success所有收到的 FlowFiles 都会成功路由否

写入的 FlowFile 属性

名称描述
dropbox.id文件的 Dropbox 标识符
path文件所在的文件夹路径
filename文件的名称
dropbox.size文件的大小
dropbox.timestamp文件的服务器修改时间
dropbox.revision文件的修订版

状态管理

作用域描述
CLUSTER处理器存储必要数据以跟踪已列出的文件。需要存储的确切内容取决于'列表策略'。

受限 (Restricted)

该组件不受限。

输入要求

该组件不允许有传入连接。

另请参阅