

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

# Neptune Gremlin 또는 SPARQL 쿼리에 사용자 지정 ID 주입
<a name="features-query-id"></a>

기본적으로 Neptune은 모든 쿼리에 고유한 `queryId` 값을 할당합니다. 이 ID를 사용해 실행 중인 쿼리에 대한 정보를 가져오거나([Gremlin 쿼리 상태 API](gremlin-api-status.md) 또는 [SPARQL 쿼리 상태 API](sparql-api-status.md) 참조) 이를 취소할 수 있습니다([Gremlin 쿼리 취소](gremlin-api-status-cancel.md) 또는 [SPARQL 쿼리 취소](sparql-api-status-cancel.md) 참조).

또한 Neptune의 경우 HTTP 헤더에서, 또는 `queryId` 쿼리 힌트를 사용하여 SPARQL 쿼리에서 Gremlin 또는 SPARQL 쿼리에 대해 자체적인 `queryId` 값을 지정할 수 있습니다. 자체 `queryID`를 할당하면 상태를 가져오거나 이를 취소하기 위해 쿼리를 손쉽게 추적할 수 있습니다.

## HTTP 헤더를 사용해 사용자 지정 `queryId` 값 주입
<a name="features-query-id-header"></a>

Gremlin 및 SPARQL 모두에서 HTTP 헤더를 사용해 자체 `queryId` 값을 쿼리에 주입할 수 있습니다.

**Gremlin 예제**

```
curl -XPOST https://your-neptune-endpoint:port \
    -d "{\"gremlin\": \
        \"g.V().limit(1).count()\" , \
        \"queryId\":\"4d5c4fae-aa30-41cf-9e1f-91e6b7dd6f47\"  }"
```

**SPARQL 예제**

```
curl https://your-neptune-endpoint:port/sparql \
    -d "query=SELECT * WHERE { ?s ?p ?o } " \
       --data-urlencode \
       "queryId=4d5c4fae-aa30-41cf-9e1f-91e6b7dd6f47"
```

## SPARQL 쿼리 힌트를 사용해 사용자 지정 `queryId` 값을 주입
<a name="features-query-id-hint"></a>

아래에는 SPARQL `queryId` 쿼리 힌트를 사용해 SPARQL 쿼리에 사용자 지정 `queryId` 값을 주입하는 방법에 대한 예제가 나와 있습니다.

```
curl https://your-neptune-endpoint:port/sparql \
    -d "query=PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> \
       SELECT * WHERE { hint:Query hint:queryId \"4d5c4fae-aa30-41cf-9e1f-91e6b7dd6f47\" \
       {?s ?p ?o}}"
```

## `queryId` 값을 사용하여 쿼리 상태 확인
<a name="features-query-id-check-status"></a>

**Gremlin 예제**

```
curl https://your-neptune-endpoint:port/gremlin/status \
    -d "queryId=4d5c4fae-aa30-41cf-9e1f-91e6b7dd6f47"
```

**SPARQL 예제**

```
curl https://your-neptune-endpoint:port/sparql/status \
    -d "queryId=4d5c4fae-aa30-41cf-9e1f-91e6b7dd6f47"
```