QuerySalesforceObject Processor
描述
从 Salesforce sObject 检索记录。用户可以通过设置过滤条件来添加任意过滤条件。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Salesforce Instance URL | | Salesforce 实例的 URL,包括没有附加路径信息的域,例如 https://MyDomainName.my.salesforce.com 支持表达式语言:是(仅使用环境/系统变量求值) | |
| API Version | 54.0 | 附加到 services/data 路径后 URL 的 Salesforce REST API 版本号。有关支持的版本,请参阅 Salesforce 文档 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Query Type | property-based-query |
| 选择通过参数或完整自定义查询提供查询。 |
| Custom SOQL Query | | 指定要运行的 SOQL 查询。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| sObject Name | | 要查询的 Salesforce sObject 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Field Names | | 从要查询的 sObject 请求的以逗号分隔的字段名称列表。 当该字段留空时,将查询所有字段。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Record Writer | | 控制器服务 API:RecordSetWriterFactorycn.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 Records | false |
| 如果为 true,处理器将在查询结果中包含已删除的记录 (IsDeleted = true)。 启用后,处理器将使用“queryAll”API。 |
| Read Timeout | 15 s | 从 Salesforce REST API 读取响应所允许的最长时间 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Create Zero Record FlowFiles | false |
| 指定当 Salesforce REST API 未返回任何记录时是否创建 FlowFile |
| OAuth2 Access Token Provider | | 控制器服务 API:OAuth2AccessTokenProvidercn.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
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 会把要处理的记录时间提前于当前运行时间。