

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 连接到 Salesforce 数据来源
<a name="salesforce-AMG-datasource"></a>

**注意**  
此数据来源仅适用于 Grafana Enterprise。有关更多信息，请参阅 [管理对 Enterprise 插件的访问](upgrade-to-enterprise-plugins.md)。  
此外，在支持版本 9 或更高版本的工作区中，此数据来源可能需要您安装相应的插件。有关更多信息，请参阅 [使用插件扩展您的工作区](grafana-plugins.md)。

Salesforce 数据来源使您能够在 Amazon Managed Grafana 中可视化来自 Salesforce 的数据。

要使用此数据来源，您必须拥有 [Salesforce](https://www.salesforce.com/) 账户和 [Salesforce 连接的应用程序](https://help.salesforce.com/articleView?id=sf.connected_app_overview.htm&type=5)。

## 已知限制条件
<a name="salesforce-known-limitations"></a>
+  尚不支持临时筛选条件。
+  目前仅支持 SOQL 查询和可通过 SOQL 访问的数据。目前尚不支持 SOSL 和 SAQL 查询格式。

## 必需的设置
<a name="salesforce-settings"></a>

以下设置是必需的。

**注意**  
该插件目前使用 OAuth 2.0 用户名密码流程。未使用连接的应用程序中所需的回调 URL。因此，您可以将其设置为任何有效的 URL。


|  Name  |  说明  | 
| --- | --- | 
|  Enable OAuth settings  |  您必须勾选此项才能启用 OAuth。 | 
|  Callback URL  |  尚未在此插件中使用，因此您可以指定任何有效的 URL。 | 
|  Selected OAuth Scopes (minimum requirements)  | 访问和管理您的数据（api）。 | 
|  Require Secret for Refresh Token Flow  |  可以启用或禁用此选项。 | 

## 添加数据来源
<a name="salesforce-adding-the-data-source"></a>

1.  在 Amazon Managed Grafana 工作区中打开 Grafana 控制台，并确保您已登录。

1.  在**配置**（齿轮图标）下的侧边菜单中，选择**数据来源**。

1.  选择**添加数据来源**。
**注意**  
 如果您在侧边菜单中看不到**数据来源**链接，则表示您当前的用户没有 `Admin` 角色。

1.  从数据来源列表中选择 **Salesforce**。

1. 输入以下信息：
   + 对于**用户名**，输入要用于连接和查询 Salesforce 的 Salesforce 账户的用户名。
   + 对于**密码**，输入该用户的密码。
   + 对于**安全令牌**，输入该用户的安全令牌。
   + 对于**使用者键**，输入要连接到 Salesforce 的使用者键。您可以从 Salesforce 连接的应用程序处获取。
   + 对于**使用者密钥**，输入要连接到 Salesforce 的使用者密钥。您可以从 Salesforce 连接的应用程序处获取。
   + 对于**使用沙盒**，如果您要使用 Salesforce 沙盒，请选择此选项。

## 查询 Salesforce 数据来源
<a name="salesforce-query"></a>

查询编辑器支持查询生成器和 SOQL 编辑器模式。SOQL 代表 [Salesforce 对象查询语言](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm)。

### 查询生成器（SOQL 生成器）
<a name="salesforce-query-builder"></a>

查询生成器是一个用户友好的界面，用于生成 SOQL 查询。如果您不熟悉如何编写 SOQL 查询，则可以使用此模式生成 SOQL，从而查询 Salesforce 对象。查询生成器中的 **FROM** 字段指的是 Salesforce 中的一个或多个实体。您需要首先选择 **FROM** 字段，然后才能在查询生成器中进行任何其他操作。选择 **FROM** 字段后，需要选择生成器模式。SOQL 生成器当前支持以下模式。
+ `List`：列出选定表/salesforce 中的项目及其字段。使用此模式可以获得诸如“显示本财季创造的商机列表及其名称、价值和阶段”的结果。
+ `Aggregate`：汇总实体中的项目。使用此模式可以获得诸如“统计上个月创造的商机”的结果。或“按阶段名称分组的商机的总价值是多少？”
+ `Trend`：显示一段时间内的汇总结果。使用此模式可以获得诸如 “计算机会数量” 之类的结果 CreatedDate。或“按商机截止日期分组的总价值是多少。”

在查询编辑器中选择 `Entity/FROM` 和**模式**后，使用以下选项生成查询。


|  **字段**  |  **适用于**  |  **描述**  | 
| --- | --- | --- | 
|  SELECT |  ALL  |  选择要查看的字段列表。对于汇总视图或趋势视图，还可选择要汇总值的方式。 | 
|  WHERE |  ALL  |  （可选）指定筛选条件。系统会根据您选择的条件筛选结果。 | 
|  ORDER BY |  LIST, AGGREGATE  |  （可选）选择字段名称和所需的结果排序顺序。 | 
|  LIMIT |  LIST, AGGREGATE  |  （可选）限制返回的结果数。默认值为 100。 | 
|  GROUP BY |  AGGREGATE  |  （可选）如果要按任何特定字段拆分汇总值，请选择该字段。 | 
|  TIME FIELD |  TREND  |  指定要按其对结果进行分组的日期字段。结果是根据 Grafana 的时间选择器范围进行筛选的。 | 

在查询编辑器中配置上述字段时，还将在查询编辑器下方看到生成的 SOQL 的预览。如果您在查询生成器中因任何限制而导致操作被阻止，则可以安全地切换到 SOQL 编辑器，您可以在其中自定义生成的 SOQL 查询。

### SOQL 编辑器
<a name="salesforce-SOQL-editor"></a>

原始 SOQL 编辑器提供了通过原始 SOQL 查询来查询 Salesforce 对象的选项。SOQL 编辑器提供自动完成建议，例如每个表的可用实体和相应的字段。在 SELECT 或 WHERE 之后使用 Ctrl \$1 空格键查看每个表的可用实体。如果在实体名称后输入一个点，则可以看到可用字段。

**快捷键**

使用 CTRL \$1 空格键显示代码完成功能，它会显示可用的上下文选项。

CMD \$1 S 运行查询。

**按时间序列查询**

通过将日期字段的别名设置为时间，将指标字段别名设置为指标，然后按指标和日期分组，以这种方式进行时间序列查询。以下是示例：

```
SELECT sum(Amount) amount, CloseDate time, Type metric from Opportunity
group by Type, CloseDate
```

**宏**

要按控制面板时间范围进行筛选，可以在 SOQL 查询中使用宏：
+ `$__timeFrom`：将替换为当前活动时间选择的开始时间（已转换为`time`数据类型）。
+ `$__timeTo`：将替换为当前活动时间选择的结束时间（已转换为`time`数据类型）。
+ `$__quarterStart`— 会计季度的开始（源自 “ SalesForce 会计年度设置”）。
+ `$__quarterEnd`— 会计季度结束（源自 “ SalesForce 会计年度设置”）。

```
SELECT UserId, LoginTime from LoginHistory where LoginTime > $__timeFrom
```

## 模板和变量
<a name="salesforce-templates"></a>

要添加新的 Salesforce 查询变量，请参阅[添加查询变量](variables-types.md#add-a-query-variable)。使用 Salesforce 数据来源作为您的数据来源。您可在此处使用任何 SOQL 查询。

如果要使用 name/value 配对，例如用户 ID 和用户名，请从 SOQL 查询中返回两个字段。第一个字段将用作 ID。当您想在查询编辑器 SOQL 中按键（ID 等）进行筛选时，请执行此操作。

通过使用变量语法在 SOQL 查询中使用该变量。有关更多信息，请参阅 [变量语法](templates-and-variables.md#variable-syntax)。