QuerySalesforceObject

文档中心 › 组件索引 › QuerySalesforceObject

QuerySalesforceObject Processor

类型全限定名:cn.org.acal.lynxus.processors.salesforce.QuerySalesforceObject

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

描述

从 Salesforce sObject 检索记录。用户可以通过设置过滤条件来添加任意过滤条件。

标签

salesforcesobjectsoqlquery

属性

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

名称默认值可选值描述
Salesforce Instance URLSalesforce 实例的 URL,包括没有附加路径信息的域,例如 https://MyDomainName.my.salesforce.com
支持表达式语言:是(仅使用环境/系统变量求值)
API Version54.0附加到 services/data 路径后 URL 的 Salesforce REST API 版本号。有关支持的版本,请参阅 Salesforce 文档
支持表达式语言:是(仅使用环境/系统变量求值)
Query Typeproperty-based-query
  • 基于属性查询 — 通过属性提供查询。
  • 自定义查询 — 提供自定义 SOQL 查询。
选择通过参数或完整自定义查询提供查询。
Custom SOQL Query指定要运行的 SOQL 查询。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
sObject Name要查询的 Salesforce sObject
支持表达式语言:是(仅使用环境/系统变量求值)
Field Names从要查询的 sObject 请求的以逗号分隔的字段名称列表。 当该字段留空时,将查询所有字段。
支持表达式语言:是(仅使用环境/系统变量求值)
Record Writer控制器服务 API:
RecordSetWriterFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
用于写入从 Salesforce REST API 返回的记录的服务
Age Field指定一个 TIMESTAMP 字段名,将用于使用有界时间窗口过滤记录。处理器仅返回时间戳值晚于上次处理器运行后记录的时间戳的记录。
支持表达式语言:是(仅使用环境/系统变量求值)
Initial Age Start Time此属性指定处理器在运行第一个查询时应用的开始时间。
支持表达式语言:是(仅使用环境/系统变量求值)
Age Delay时间窗口的结束时间戳将根据此属性配置的量提前调整。例如,属性值为 10 秒时,结束时间戳 12:30:45 将更改为 12:30:35。
支持表达式语言:是(仅使用环境/系统变量求值)
Custom WHERE Condition要添加到查询的 WHERE 子句中的自定义表达式
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Include Deleted Recordsfalse
  • true
  • false
如果为 true,处理器将在查询结果中包含已删除的记录 (IsDeleted = true)。 启用后,处理器将使用“queryAll”API。
Read Timeout15 s从 Salesforce REST API 读取响应所允许的最长时间
支持表达式语言:是(仅使用环境/系统变量求值)
Create Zero Record FlowFilesfalse
  • true
  • false
指定当 Salesforce REST API 未返回任何记录时是否创建 FlowFile
OAuth2 Access Token Provider控制器服务 API:
OAuth2AccessTokenProvider
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
提供 OAuth2 访问令牌以使用 HTTP 授权标头进行身份验证的服务

关系 (Relationships)

名称描述自动终止
failure当查询失败时,输入FlowFile将发送到此关系。是
original当查询成功时,输入FlowFile将发送到此关系。是
success对于因成功查询而创建的 FlowFiles。否

写入的 FlowFile 属性

名称描述
mime.type将 mime.type 属性设置为Record Writer指定的 MIME 类型。
record.count设置 FlowFile 中的记录数。
total.record.count设置 FlowFile 中的记录总数。

状态管理

作用域描述
CLUSTER设置“年龄字段”后,执行查询后将存储执行时间。 后续查询将被扩充,添加一个额外条件,仅检索比存储的执行时间(根据可选的 'Age Delay' 值调整)更新的记录。状态在整个集群中存储,因此此处理器可以仅在 Primary Node 上运行,如果选择了新的 Primary Node,新节点可以从上一个节点停止的地方继续,而不会重复数据。

受限 (Restricted)

该组件不受限。

输入要求

该组件允许有传入连接。

另请参阅

详细说明

QuerySalesforceObject

说明

Salesforce 中的对象是数据库表,其行称为记录,列称为字段。 QuerySalesforceObject Processor 查询 Salesforce 对象并获取其记录。该 Processor 从 Processor 属性构建查询,或执行自定义的 SOQL(Salesforce Object Query Language)查询,并使用 Salesforce REST API 获取结果记录数据集。'Query Type' Processor 属性允许以两种方式构建查询。'Property Based Query' 选项允许定义 'SELECT from ' 类型的查询,字段在 'Field Names' 属性中定义, Salesforce 对象在 'sObject Name' 属性中定义;而 'Custom Query' 选项允许提供任意的 SOQL 查询。使用 'Custom Query' 时,该 Processor 可以接受可选的输入 FlowFile,并在查询中引用 FlowFile Attribute。不过,增量加载和基于记录的处理 只在 'Property Based Query' 中支持。

OAuth2 Access Token Provider 服务

OAuth2 Access Token Provider 服务处理 Salesforce REST API 的授权。要使用 OAuth2 授权,请创建一个新的 StandardOauth2AccessTokenProvider 服务,并按以下方式配置。

  • Authorization Server URL:Salesforce URL 与令牌请求服务 URL(/services/oauth2/token)的拼接。
  • Grant Type:User Password。
  • Username:在 Salesforce 账号注册的邮箱地址。
  • Password:密码需要申请一个安全令牌(Security token)。进入 Profile -> Settings,在 Reset My Security Token 选项下申请,令牌会发送到注册的 邮箱地址。密码由 Salesforce 账号密码和安全令牌直接拼接而成,中间没有空格。
  • Client ID:在 Salesforce 中创建一个新的 Connected App。进入 Setup -> 在左侧搜索面板找到 App Manager -> Create New Connected App。完成后, Consumer Key 就是 Client ID 属性的值。
  • Client Secret:在 Connected App 页面的 Consumer Secret 下可用。

Age 属性

Age 属性对避免处理重复记录很重要。Age 过滤提供了一个滑动窗口,从 Processor 的上次运行时间开始,到当前运行时间减去 age delay 结束。只有落在滑动窗口内的记录会被查询和处理。 在该 Processor 上,Age Field 属性必须是被查询对象的一个 datetime 字段,它会受到"大于 Processor 上次运行时间且小于当前运行时间"的条件约束 (例如 LastModifiedDate)。例如,首次运行会查询 LastModifiedDate 早于当前运行时间的记录;第二次运行会查找 LastModifiedDate 晚于上次运行时间但早于当前运行时间的记录。

该 Processor 使用 Initial Age Filter 作为特定时间戳,设置滑动窗口的起点, 处理从该窗口构建初始查询。格式必须符合 Salesforce SOQL 标准(参见 Salesforce 文档)。如有必要,Age Delay 会把要处理的记录时间提前于当前运行时间。