ListGCSBucket 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-gcp-nar
描述¶
从 GCS 桶中检索对象列表。对于列出的每个对象,创建一个代表该对象的 FlowFile,以便可以将其与 FetchGCSObject 一起提取。该处理器仅在集群中的主节点上运行。如果主节点发生变化,新的主节点将从前一个节点中断的地方继续,而不是复制所有数据。
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
GCP 凭据提供商服务 |
用于获取 Google Cloud Platform 凭据的控制器服务。 |
et-initial-listing-target |
指定应如何处理初始列表。由“跟踪实体”策略使用。 |
et-state-cache |
列出的实体存储在指定的缓存存储器中,这样该处理器在 NiFi 重启后或主节点发生更改时可以恢复列出。“跟踪实体”策略要求在最后一个“跟踪时间窗口”内提供所有列出的实体的跟踪信息。为了支持大量实体,该策略使用 DistributedMapCache 而非托管状态。缓存键格式为“ListedEntities::{processorId}(::{nodeId})”。如果它跟踪每个节点列出的实体,则会添加可选的“::{nodeId}”部分以单独管理状态。例如,集群范围缓存键 =“ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b”,每节点缓存键 =“ListedEntities::8dda2321-0164-1000-50fa-3042fe7d6a7b::nifi-node3”存储的缓存内容是 Gzipped JSON 字符串。目标列表配置更改时,缓存键将被删除。由“跟踪实体”策略使用。 |
et-time-window |
指定该处理器应跟踪已列出的实体多长时间。“跟踪实体”策略可以选择时间戳在指定时间窗口内的任何实体。例如,如果设置为“30 分钟”,则在该处理器运行时,任何具有最近 30 分钟时间戳的实体都将成为列表目标。如果满足以下条件之一,则列出实体被视为“新的/已更新的”,并发出 FlowFile:1. 不存在于已列出的实体中;2. 具有比缓存实体更新的时间戳;3. 与缓存实体的大小不同。如果缓存实体的时间戳早于指定的时间窗口,则该实体将从缓存的已列出实体中移除。由“跟踪实体”策略使用。 |
gcp-project-id |
Google Cloud 项目 ID |
gcp-retry-count |
路由到“failure”关系之前应尝试重试多少次。 |
gcs-bucket |
对象的桶。 |
gcs-prefix |
用于筛选对象列表的前缀。在大多数情况下,应当以正斜杠(“/”)结尾。 |
gcs-use-generations |
指定是否使用 GCS 对象版本号(如果适用)。 如果为 false,则仅返回每个对象的最新版本。 |
listing-strategy |
指定如何确定新的/更新的实体。有关详细信息,请参阅每种策略的描述。 |
proxy-configuration-service |
指定代理配置控制器服务来代理网络请求。 |
record-writer |
指定用于创建列表的记录写入器。如果未指定,则将为列出的每个实体创建一个 FlowFile。如果指定了记录写入器,则所有实体都将写入单个 FlowFile,而不是向单个 FlowFiles 添加属性。 |
storage-api-url |
替换默认存储 URL。如 Google 有关专用服务连接的文档所述,配置替代存储 API URL 还可替换请求中的 HTTP 主机标头。 |
状态管理¶
范围 |
描述 |
---|---|
CLUSTER |
执行密钥列表后,系统将存储最新密钥的时间戳以及具有相同时间戳的其他密钥。这允许处理器在下次运行时,仅列出在此日期之后添加或修改的密钥。状态存储在整个集群中,因此该处理器只能在主节点上运行,如果选择了新的主节点,则新节点可以从前一个节点中断的地方继续,而无需复制数据。 |
关系¶
名称 |
描述 |
---|---|
success |
Google Cloud Storage 操作成功后,将 FlowFiles 路由到此关系。 |
写入属性¶
名称 |
描述 |
---|---|
filename |
文件的名称 |
gcs.bucket |
对象的桶。 |
gcs.key |
对象名称。 |
gcs.size |
对象的大小。 |
gcs.cache.control |
对象的数据缓存控制。 |
gcs.component.count |
构成对象的组件数量。 |
gcs.content.disposition |
对象的数据内容处置。 |
gcs.content.encoding |
对象的内容编码。 |
gcs.content.language |
对象的内容语言。 |
mime.type |
对象的 MIME/内容类型 |
gcs.crc32c |
对象数据的 CRC32C 校验和,以 base64 为编码单位,按大端顺序排列。 |
gcs.create.time |
对象的创建时间(毫秒) |
gcs.update.time |
对象的最后修改时间(毫秒) |
gcs.encryption.algorithm |
用于加密对象的算法。 |
gcs.encryption.sha256 |
用于加密对象的键的 SHA256 哈希值 |
gcs.etag |
对象的 HTTP 1.1 实体标签。 |
gcs.generated.id |
为对象生成的服务 |
gcs.generation |
对象的数据生成。 |
gcs.md5 |
对象数据的 MD5 哈希值,以 base64 编码。 |
gcs.media.link |
对象的媒体下载链接。 |
gcs.metageneration |
对象的元数据版本号。 |
gcs.owner |
对象的所有者(上传者)。 |
gcs.owner.type |
对象上传者的 ACL 实体类型。 |
gcs.acl.owner |
具有对象所有者访问权限的 ACL 实体列表,以逗号分隔。实体将是电子邮件地址、域名或项目 IDs。 |
gcs.acl.writer |
具有对象写入权限的 ACL 实体列表,以逗号分隔。实体将是电子邮件地址、域名或项目 IDs。 |
gcs.acl.reader |
具有对象读取权限的 ACL 实体列表,以逗号分隔。实体将是电子邮件地址、域名或项目 IDs。 |
gcs.uri |
作为字符串的对象 URI。 |