

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

# 控制 Neptune DFE 引擎的使用位置
<a name="neptune-dfe-enabling-disabling"></a>

默认情况下，实例的 [neptune\_dfe\_query\_engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine) 实例参数设置为 `viaQueryHint`，这会导致 DFE 引擎仅用于 openCypher 查询，以及显式包含 `useDFE` 查询提示（设置为 `true`）的 Gremlin 和 SPARQL 查询。

通过将 `neptune_dfe_query_engine` 实例参数设置为 `enabled`，您可以完全启用 DFE 引擎，以便尽可能使用该引擎。

您也可以通过包含特定 [Gremlin](gremlin-query-hints-useDFE.md) 查询或 [SPARQL 查询](sparql-query-hints-useDFE.md)的 `useDFE` 查询提示来禁用 DFE。此查询提示允许您阻止 DFE 执行该特定查询。

您可以使用 [实例状态](access-graph-status.md) 调用来确定是否在实例中启用 DFE，如下所示：

```
curl -G https://{{your-neptune-endpoint}}:{{port}}/status
```

然后，状态响应会指定 DFE 是否已启用：

```
{
  "status":"healthy",
  "startTime":"Wed Dec 29 02:29:24 UTC 2021",
  "dbEngineVersion":"development",
  "role":"writer",
  "dfeQueryEngine":"viaQueryHint",
  "gremlin":{"version":"tinkerpop-3.5.2"},
  "sparql":{"version":"sparql-1.1"},
  "opencypher":{"version":"Neptune-9.0.20190305-1.0"},
  "labMode":{
    "ObjectIndex":"disabled",
    "ReadWriteConflictDetection":"enabled"
  },
  "features":{
    "ResultCache":{"status":"disabled"},
    "IAMAuthentication":"disabled",
    "Streams":"disabled",
    "AuditLog":"disabled"
  },
  "settings":{"clusterQueryTimeoutInMs":"120000"}
}
```

Gremlin `explain` 和 `profile` 结果会告诉您 DFE 是否正在执行查询。请参阅[Gremlin `explain` 报告中包含的信息](gremlin-explain-api.md#gremlin-explain-api-results)以了解 `explain`，并参阅[DFE `profile` 报告](gremlin-profile-api.md#gremlin-profile-dfe-output)以了解 `profile`。

同样，SPARQL `explain` 会告诉您 DFE 是否正在执行 SPARQL 查询。有关更多详细信息，请参阅[启用 DFE 时的 SPARQL `explain` 输出示例](sparql-explain-examples.md#sparql-explain-output-dfe)和[`DFENode` 运算符](sparql-explain-operators.md#sparql-explain-operator-dfenode)。