

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

# 設定 Gremlin 主控台來連線至 Neptune 資料庫執行個體
<a name="access-graph-gremlin-console"></a>

Gremlin 主控台可讓您在 REPL (read-eval-print loop) 環境下試驗 TinkerPop 圖表和查詢。

## 安裝 Gimlin 主控台並以尋常的方式連線至其中
<a name="access-graph-gremlin-console-usual-connect"></a>

您可以使用 Gremlin 主控台連接到遠端圖形資料庫。下節會引導您安裝與設定 Gremlin 主控台，從遠端連線至 Neptune 資料庫執行個體。您必須從與您的 Neptune 資料庫執行個體位於同一虛擬私有雲端 (VPC) 的 Amazon EC2 執行個體依照以下指示進行。

如需使用 SSL/TLS (這是必要的) 連線至 Neptune 的說明，請參閱 [SSL/TLS 組態](access-graph-gremlin-java.md#access-graph-gremlin-java-ssl)。

**注意**  
如果您已在 Neptune 資料庫叢集上[啟用 IAM 身分驗證](iam-auth-enable.md)，請遵循 [使用 IAM 身分驗證搭配 Gremlin 主控台連線至 Amazon Neptune 資料庫](iam-auth-connecting-gremlin-console.md) 中的指示來安裝 Gemlin 主控台，而不是此處的指示。

**安裝 Gremlin 主控台並連線至 Neptune**

1. Gremlin 主控台二進位檔需要 Java 8 或 Java 11。這些指示假設使用 Java 11。您可以在 EC2 執行個體上安裝 Java 11，如下所示：
   + 如果您使用的是 [Amazon Linux 2 (AL2)](https://aws.amazon.com/amazon-linux-2)：

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + 如果您使用的是 [Amazon Linux 2023 (AL2023)](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)：

     ```
     sudo yum install java-11-amazon-corretto-devel
     ```
   + 對於其他發行版，請使用以下任一適當的方式：

     ```
     sudo yum install java-11-openjdk-devel
     ```

     或：

     ```
     sudo apt-get install openjdk-11-jdk
     ```

1. 輸入以下命令將 Java 11 設定為 EC2 執行個體上預設的執行期。

   ```
   sudo /usr/sbin/alternatives --config java
   ```

   出現提示時，輸入 Java 11 的編號。

1. 從 Apache 網站下載適當的 Gremlin 主控台版本。您可以檢查 [使用 Gremlin 存取 Neptune 圖形](access-graph-gremlin.md)來判斷您的 Neptune 版本支援哪個 Gremlin 版本。例如，如果您需要 3.7.2 版，您可以從 [Apache Tinkerpop](https://tinkerpop.apache.org/download.html) 網站將 [Gremlin 主控台](https://archive.apache.org/dist/tinkerpop/3.7.2/apache-tinkerpop-gremlin-console-3.7.2-bin.zip)下載到您的 EC2 執行個體，如下所示：

   ```
   wget https://archive.apache.org/dist/tinkerpop/3.7.2/apache-tinkerpop-gremlin-console-3.7.2-bin.zip
   ```

1. 解壓縮 Gremlin 主控台 zip 檔。

   ```
   unzip apache-tinkerpop-gremlin-console-3.7.2-bin.zip
   ```

1. 將目錄變更為解壓縮的目錄。

   ```
   cd apache-tinkerpop-gremlin-console-3.7.2
   ```

1. 在解壓縮目錄的 `conf` 根資料夾中，使用下列文字建立名為 `neptune-remote.yaml` 的檔案。將 *your-neptune-endpoint* 取代為 Neptune 資料庫執行個體的主機名稱或 IP 地址。需使用方括號 (`[ ]`)。
**注意**  
如需尋找 Neptune 資料庫執行個體主機名稱的相關資訊，請參閱 [連線至 Amazon Neptune 端點](feature-overview-endpoints.md) 一節。

   ```
   hosts: [your-neptune-endpoint]
   port: 8182
   connectionPool: { enableSsl: true }
   serializer: { className: org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1,
                 config: { serializeResultToString: true }}
   ```
**注意**  
 序列化程式已從`gremlin-driver`模組移至 3.7.0 版的新`gremlin-util`模組。套件從 org.apache.tinkerpop.gremlin.driver.ser 變更為 org.apache.tinkerpop.gremlin.util.ser。

1. 在終端機上，導覽至 Gremlin 主控台目錄 (`apache-tinkerpop-gremlin-console-3.7.2`)，然後輸入下列命令來執行 Gremlin 主控台。

   ```
   bin/gremlin.sh
   ```

   您應該會看到下列輸出：

   ```
            \,,,/
            (o o)
   -----oOOo-(3)-oOOo-----
   plugin activated: tinkerpop.server
   plugin activated: tinkerpop.utilities
   plugin activated: tinkerpop.tinkergraph
   gremlin>
   ```

   您現在進入 `gremlin>` 提示。您將在這個提示下輸入其餘的步驟。

1. 在 `gremlin>` 提示下，輸入以下命令以連線到 Neptune 資料庫執行個體。

   ```
   :remote connect tinkerpop.server conf/neptune-remote.yaml
   ```

1. 在 `gremlin>` 提示下，輸入以下內容以切換為遠端模式。這會傳送所有 Gremlin 查詢到遠端連線。

   ```
   :remote console
   ```

1. 輸入以下內容以將查詢傳送到 Gremlin 圖形。

   ```
   g.V().limit(1)
   ```

1. 完成後，輸入以下內容以退出 Gremlin 主控台。

   ```
   :exit
   ```

**注意**  
使用分號 (`;`) 或換行符號字元 (`\n`) 來分隔每個陳述式。  
最終周遊之前的每個周遊節尾必須為 `next()`，才能執行。但只有最後的周遊資料會傳回。

如需 Neptune 實作 Gremlin 的詳細資訊，請參閱 [Amazon Neptune 中的 Gremlin 標準合規](access-graph-gremlin-differences.md)。

## IAM 身分驗證
<a name="access-graph-gremlin-console-iam"></a>

Neptune 支援 [IAM 身分驗證](iam-auth-enable.md)，以控制對資料庫叢集的存取。如果您已啟用 IAM 身分驗證，則需要使用 Signature 第 4 版簽署來驗證您的請求。如需從 Gremlin 主控台連線的詳細說明和程式碼範例，請參閱 [使用 IAM 身分驗證搭配 Gremlin 主控台連線至 Amazon Neptune 資料庫](iam-auth-connecting-gremlin-console.md)。