

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Gremlin 콘솔에 연결하는 다른 방법
<a name="access-graph-gremlin-console-connect"></a>

**일반 연결 접근 방식의 단점**

Gremlin 콘솔에 연결하는 가장 일반적인 방법은 위에서 설명한 것처럼 `gremlin>` 프롬프트에서 다음과 같은 명령을 사용하는 방법입니다.

```
gremlin> :remote connect tinkerpop.server conf/{{(file name)}}.yaml
gremlin> :remote console
```

이 방법은 효과적으로 작동하며, Neptune에 쿼리를 보낼 수 있도록 지원합니다. 하지만 Groovy 스크립트 엔진을 루프에서 제외하므로, Neptune은 모든 쿼리를 순수 Gremlin으로 취급합니다. 즉, 다음과 같은 쿼리 양식은 실패합니다.

```
gremlin> 1 + 1
gremlin> x = g.V().count()
```

이렇게 연결한 경우 변수를 사용하여 가장 근접하게 할 수 있는 작업은 콘솔에서 유지하는 `result` 변수를 사용하고 다음과 같이 `:>` 기호를 사용하여 쿼리를 전송하는 것입니다.

```
gremlin> :remote console
==>All scripts will now be evaluated locally - type ':remote console' to return to remote mode for Gremlin Server - [krl-1-cluster.cluster-ro-cm9t6tfwbtsr.us-east-1.neptune.amazonaws.com/172.31.19.217:8182]
gremlin> :> g.V().count()
==>4249

gremlin> println(result)
[result{object=4249 class=java.lang.Long}]

gremlin> println(result['object'])
[4249]
```

 

**다른 연결 방법**

다음과 같이 다른 방법으로 Gremlin 콘솔에 연결할 수도 있습니다. 이 방법이 더 효과적일 수도 있습니다.

```
gremlin> g = traversal().withRemote('conf/neptune.properties')
```

`neptune.properties`는 다음과 같은 형식을 취합니다.

```
gremlin.remote.remoteConnectionClass=org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection
gremlin.remote.driver.clusterFile=conf/my-cluster.yaml
gremlin.remote.driver.sourceName=g
```

`my-cluster.yaml` 파일은 다음과 비슷해야 합니다.

```
hosts: [{{my-cluster-abcdefghijk.us-east-1.neptune.amazonaws.com}}]
port: 8182
serializer: { className: org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1,
              config: { serializeResultToString: false } }
connectionPool: { enableSsl: true }
```

**참고**  
 직렬 변환기가 버전 3.7.0의 `gremlin-driver` 모듈에서 새 `gremlin-util` 모듈로 이동되었습니다. 패키지가 org.apache.tinkerpop.gremlin.driver.ser에서 org.apache.tinkerpop.gremlin.util.ser로 변경되었습니다.

Gremlin 콘솔 연결을 이와 같이 구성하면 다음과 같은 종류의 쿼리를 성공적으로 수행할 수 있습니다.

```
gremlin> 1+1
==>2

gremlin> x=g.V().count().next()
==>4249

gremlin> println("The answer was ${x}")
The answer was 4249
```

다음과 같이 결과가 표시되지 않도록 할 수 있습니다.

```
gremlin> x=g.V().count().next();[]
gremlin> println(x)
4249
```

일반적인 모든 쿼리 방법(터미널 단계 없음)은 계속 작동합니다. 예제:

```
gremlin> g.V().count()
==>4249
```

[https://tinkerpop.apache.org/docs/current/reference/#io-step](https://tinkerpop.apache.org/docs/current/reference/#io-step) 단계를 사용하여 이런 종류의 연결이 있는 파일을 로드할 수도 있습니다.