쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

OpenSearch용
AWS AppSync 해석기 매핑 템플릿 참조

포커스 모드
OpenSearch용 AWS AppSync 해석기 매핑 템플릿 참조 - AWS AppSync GraphQL

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

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

참고

이제 우리는 주로 APPSYNC_JS 런타임과 해당 문서를 지원합니다. 여기에서 APPSYNC_JS 런타임과 해당 안내서를 사용해 보세요.

Amazon OpenSearch Service용 AWS AppSync 해석기를 사용하면 GraphQL을 사용하여 계정의 기존 OpenSearch Service 도메인에 데이터를 저장하고 검색할 수 있습니다. 이 해석기는 수신되는 GraphQL 요청을 OpenSearch Service 요청으로 매핑한 다음 OpenSearch Service 응답을 다시 GraphQL로 매핑하도록 하여 작동합니다. 이 섹션에서는 지원되는 OpenSearch Service 작업에 대한 매핑 템플릿에 대해 설명합니다.

요청 매핑 템플릿

대부분의 OpenSearch Service 요청 매핑 템플릿에는 몇 부분만 변경되는 공통 구조가 있습니다. 다음 예제에서는 OpenSearch Service 도메인을 대상으로 검색을 실행합니다. 이 도메인에서는 post라는 인덱스로 문서가 구성되어 있습니다. 검색 파라미터는 body 섹션에 정의되어 있고, 공통 쿼리 절은 대부분 query 필드에서 정의합니다. 이 예에서는 문서의 "Nadia" 필드에서 "Bailey", author 또는 둘 다가 포함된 문서를 검색합니다.

{ "version":"2017-02-28", "operation":"GET", "path":"/post/_search", "params":{ "headers":{}, "queryString":{}, "body":{ "from":0, "size":50, "query" : { "bool" : { "should" : [ {"match" : { "author" : "Nadia" }}, {"match" : { "author" : "Bailey" }} ] } } } } }

응답 매핑 템플릿

다른 데이터 소스와 마찬가지로 OpenSearch Service는 GraphQL로 변환해야 하는 응답을 AWS AppSync에 전송합니다.

대부분의 GraphQL 쿼리는 OpenSearch Service 응답에서 _source 필드를 검색합니다. 개별 문서 또는 문서 목록을 반환하도록 검색을 수행할 수 있기 때문에 OpenSearch Service에서는 두 가지 공통 응답 매핑 템플릿이 사용됩니다.

결과 목록

[ #foreach($entry in $context.result.hits.hits) #if( $velocityCount > 1 ) , #end $utils.toJson($entry.get("_source")) #end ]

개별 항목

$utils.toJson($context.result.get("_source"))

operation field

참고

이는 요청 매핑 템플릿에만 적용됩니다.

AWS AppSync가 OpenSearch Service 도메인으로 보내는 HTTP 메서드 또는 동사(GET, POST, PUT, HEAD 또는 DELETE)입니다. 키와 값은 둘 다 문자열이어야 합니다.

"operation" : "PUT"

path field

참고

이는 요청 매핑 템플릿에만 적용됩니다.

AWS AppSync의 OpenSearch Service 요청에 대한 검색 경로입니다. 이 경로는 작업의 HTTP 동사에 대한 URL을 구성합니다. 키와 값은 둘 다 문자열이어야 합니다.

"path" : "/<indexname>/_doc/<_id>" "path" : "/<indexname>/_doc" "path" : "/<indexname>/_search" "path" : "/<indexname>/_update/<_id>

매핑 템플릿이 평가되면 이 경로는 OpenSearch Service 도메인을 포함해 HTTP 요청의 일부로 전송됩니다. 예를 들어, 이전 예제는 다음과 같이 변환될 수 있습니다.

GET https://opensearch-domain-name.REGION.es.amazonaws.com/indexname/type/_search

params field

참고

이는 요청 매핑 템플릿에만 적용됩니다.

검색에서 수행할 작업을 지정하는 데 사용되며, 가장 일반적으로 본문 내에 쿼리 값을 설정하여 지정합니다. 그러나 응답 형식 지정 등과 같이 구성할 수 있는 기타 여러 가지 기능이 있습니다.

  • headers

    키-값 페어로 표시되는 헤더 정보. 키와 값은 둘 다 문자열이어야 합니다. 예시:

    "headers" : { "Content-Type" : "application/json" }
    참고

    AWS AppSync는 현재 JSON만 로 지원합니다Content-Type.

  • queryString

    JSON 응답에 대한 코드 형식 지정 등과 같이 공통 옵션을 지정하는 키-값 페어. 키와 값은 둘 다 문자열이어야 합니다. 예를 들어, 형식이 잘 지정된 JSON을 가져오려면 다음을 사용합니다.

    "queryString" : { "pretty" : "true" }
  • body

    이는 요청의 주요 부분으로, AWS AppSync가 OpenSearch Service 도메인에 대한 올바른 형식의 검색 요청을 생성할 수 있도록 허용합니다. 키는 객체로 구성된 문자열이어야 합니다. 아래에 몇 가지 경우가 나와 있습니다.

예시 1

‘시애틀’과 일치하는 도시가 포함된 모든 문서를 반환합니다.

"body":{ "from":0, "size":50, "query" : { "match" : { "city" : "seattle" } } }

예시 2

도시 또는 주가 ‘워싱턴’과 일치하는 모든 문서를 반환합니다.

"body":{ "from":0, "size":50, "query" : { "multi_match" : { "query" : "washington", "fields" : ["city", "state"] } } }

변수 전달

참고

이는 요청 매핑 템플릿에만 적용됩니다.

또한 VTL 문에서 평가의 일부로 변수를 전달할 수도 있습니다. 예를 들어, 다음과 같은 GraphQL 쿼리가 있다고 가정해 보겠습니다.

query { searchForState(state: "washington"){ ... } }

이 매핑 템플릿은 인수로 주를 받을 수 있습니다.

"body":{ "from":0, "size":50, "query" : { "multi_match" : { "query" : "$context.arguments.state", "fields" : ["city", "state"] } } }

VTL에 포함할 수 있는 유틸리티 목록은 요청 헤더에 액세스를 참조하십시오.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.