Salesforce 输入插件

编辑
  • 插件版本: v3.2.1
  • 发布日期: 2023-05-30
  • 变更日志

对于其他版本,请参阅版本化插件文档

安装

编辑

对于默认未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-input-salesforce 轻松安装。有关更多详细信息,请参阅使用插件

获取帮助

编辑

有关插件的问题,请在 Discuss 论坛中开启一个主题。对于错误或功能请求,请在 Github 中开启一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵

描述

编辑

此 Logstash 输入插件允许您使用 SOQL 查询 Salesforce,并将结果放入 Logstash 中,每个事件一行。您可以配置它以拉取整个 sObject 或仅拉取特定字段。

此输入插件将在处理完查询的所有结果后停止,并且需要重新运行以获取新结果。它不使用流式 API。

要使用此插件,您需要使用 oauth 创建一个新的 SFDC 应用程序。更多详细信息请参见:https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm

您还需要 Salesforce 实例的用户名、密码和安全令牌。有关生成令牌的更多详细信息,请参见:https://help.salesforce.com/apex/HTViewHelpDoc?id=user_security_token.htm

除了指定 sObject,您还可以提供 SOQL 查询中将使用的 API 字段列表。

HTTP 代理

编辑

如果您的基础架构使用 HTTP 代理,您可以使用所需的 URI 值设置 SALESFORCE_PROXY_URI 环境变量(例如,export SALESFORCE_PROXY_URI="http://proxy.example.com:123")。

示例

编辑

此示例将所有 Salesforce 机会输出到标准输出

input {
  salesforce {
    client_id => 'OAUTH CLIENT ID FROM YOUR SFDC APP'
    client_secret => 'OAUTH CLIENT SECRET FROM YOUR SFDC APP'
    username => '[email protected]'
    password => 'super-secret'
    security_token => 'SECURITY TOKEN FOR THIS USER'
    sfdc_object_name => 'Opportunity'
  }
}

output {
  stdout {
    codec => rubydebug
  }
}

Salesforce 输入配置选项

编辑

此插件支持以下配置选项以及稍后描述的通用选项

另请参阅通用选项,了解所有输入插件支持的选项列表。

 

api_version

编辑
  • 值类型为字符串
  • 此设置没有默认值。

默认情况下,它使用默认的 Restforce API 版本。要覆盖此设置,请将其设置为例如 "32.0" 之类的版本

client_id

编辑
  • 这是一个必需的设置。
  • 值类型为字符串
  • 此设置没有默认值。

用于身份验证的消费者密钥。您必须使用 oath 设置一个新的 SFDC 连接应用程序才能使用此输出。更多信息请参见:https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm

client_secret

编辑
  • 这是一个必需的设置。
  • 值类型为密码
  • 此设置没有默认值。

来自您的启用了 oauth 的连接应用程序的消费者密钥

password

编辑
  • 这是一个必需的设置。
  • 值类型为密码
  • 此设置没有默认值。

用于登录 sfdc 的密码

security_token

编辑
  • 这是一个必需的设置。
  • 值类型为密码
  • 此设置没有默认值。

此帐户的安全令牌。有关生成安全令牌的更多信息,请参阅:https://help.salesforce.com/apex/HTViewHelpDoc?id=user_security_token.htm

sfdc_fields

编辑
  • 值类型为数组
  • 默认值为 []

这些是在 Salesforce 查询中返回的字段名称。如果此项为空,则返回所有字段。

sfdc_filters

编辑

这些选项将添加到 SOQL 语句的 WHERE 子句中。可以通过添加 field1 = value1 AND field2 = value2 AND... 来过滤其他字段

sfdc_instance_url

编辑
  • 值类型为字符串
  • 此设置没有默认值。

Salesforce 实例的 URL。如果您想连接到您的 Salesforce 实例而不是 login.salesforce.com 或登录时的 test.salesforce.com,请提供 URL。

使用此选项或 use_test_sandbox 配置选项,但不要同时使用两者来配置插件连接到的 URL。

sfdc_object_name

编辑
  • 这是一个必需的设置。
  • 值类型为字符串
  • 此设置没有默认值。

您正在创建或更新的 Salesforce 对象的名称

to_underscores

编辑

将其设置为 true 会将 SFDC 的 NamedFields_c 转换为 named_fields_c

use_test_sandbox

编辑

将其设置为 true 以通过 test.salesforce.com 连接到沙盒 sfdc 实例进行登录

使用此选项或 sfdc_instance_url 配置选项,但不要同时使用两者来配置插件连接到的 URL。

use_tooling_api

编辑

将其设置为 true 以连接到 sfdc 工具 API 而不是常规的 sfdc rest API。 有关 sfdc 工具 API 的详细信息,请参阅 https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling。 sfdc 工具 API 的用例包括读取 apex 单元测试结果、流程覆盖率结果(例如,sfdc 流程元素的覆盖率)和安全健康检查风险。

username

编辑
  • 这是一个必需的设置。
  • 值类型为字符串
  • 此设置没有默认值。

有效的 Salesforce 用户名,通常是您的电子邮件地址。用于身份验证,并将成为所有对象创建或修改的用户

通用选项

编辑

所有输入插件都支持以下配置选项

设置 输入类型 必需

add_field

哈希

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为哈希
  • 默认值为 {}

向事件添加字段

codec

编辑

用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前解码数据,而无需在 Logstash 管道中使用单独的过滤器。

enable_metric

编辑

默认情况下,禁用或启用此特定插件实例的指标记录,我们记录所有可以记录的指标,但是您可以禁用特定插件的指标收集。

  • 值类型为字符串
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个 ID。强烈建议您在配置中设置此 ID。当您有两个或多个相同类型的插件时,这一点尤其有用,例如,如果您有两个 salesforce 输入。在这种情况下添加命名 ID 将有助于在使用监控 API 时监控 Logstash。

input {
  salesforce {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。

tags

编辑
  • 值类型为数组
  • 此设置没有默认值。

向您的事件添加任意数量的标签。

这有助于以后的处理。

type

编辑
  • 值类型为字符串
  • 此设置没有默认值。

向此输入处理的所有事件添加 type 字段。

类型主要用于过滤器激活。

该类型作为事件本身的一部分存储,因此您也可以在 Kibana 中使用该类型进行搜索。

如果您尝试在已经有类型的事件上设置类型(例如,当您将事件从 shipper 发送到 indexer 时),则新输入不会覆盖现有类型。在 shipper 上设置的类型会随着该事件的生命周期保持不变,即使发送到另一个 Logstash 服务器也是如此。