

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

根據預設，執行個體的 [neptune\$1dfe\$1query\$1engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine) 執行個體參數會設定為 `viaQueryHint`，這會導致 DFE 引擎僅用於 OpenCypher 查詢，以及明確包含 `useDFE` 查詢提示 (設定為 `true`) 的 Gemlin 和 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"}
}
```

Grimlin `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)。