기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 로컬 해석기 사용 AWS AppSync
참고
이제 APPSYNC_JS 런타임과 해당 설명서를 주로 지원합니다. 여기에서 APPSYNC_JS 런타임 및 해당 가이드를 사용하는 것이 좋습니다.
AWS AppSync 를 사용하면 지원되는 데이터 소스(AWS Lambda, Amazon DynamoDB 또는 Amazon OpenSearch Service)를 사용하여 다양한 작업을 수행할 수 있습니다. 하지만 특정 시나리오에서는 지원되는 데이터 원본을 호출할 필요가 없을 수도 있습니다.
이러한 경우에는 로컬 해석기가 유용합니다. 로컬 해석기는 원격 데이터 원본을 호출하는 것이 아니라 단순히 요청 매핑 템플릿의 결과를 응답 매핑 템플릿으로 전달할 뿐입니다. 필드 해석은 AWS AppSync에서 이루어집니다.
로컬 해석기는 여러 사용 사례에서 유용합니다. 가장 널리 알려진 사용 사례는 데이터 원본 호출을 트리거하지 않고 알림을 게시하는 경우입니다. 이 사용 사례를 설명하기 위해 사용자가 서로 간에 페이징할 수 있는 페이징 애플리케이션을 빌드해 보겠습니다. 이 예제에서는 Subscriptions를 활용하므로, Subscriptions에 대해 잘 모르는 경우 실시간 데이터 자습서에 따라 실행할 수도 있습니다.
페이징 애플리케이션 생성
페이징 애플리케이션에서 클라이언트는 받은 편지함을 구독하고 페이지를 다른 클라이언트로 보낼 수 있습니다. 각 페이지에는 메시지가 포함됩니다. 스키마는 다음과 같습니다.
schema { query: Query mutation: Mutation subscription: Subscription } type Subscription { inbox(to: String!): Page @aws_subscribe(mutations: ["page"]) } type Mutation { page(body: String!, to: String!): Page! } type Page { from: String to: String! body: String! sentAt: String! } type Query { me: String }
Mutation.page
필드에 해석기를 연결해 보십시오. Schema(스키마) 창의 오른쪽 패널에서 필드 정의 옆에 있는 Attach Resolver(해석기 연결)를 클릭합니다. 없음 유형의 새 데이터 소스를 생성하고 이름을 로 지정합니다PageDataSource.
요청 매핑 템플릿 창에서 다음을 입력합니다.
{ "version": "2017-02-28", "payload": { "body": $util.toJson($context.arguments.body), "from": $util.toJson($context.identity.username), "to": $util.toJson($context.arguments.to), "sentAt": "$util.time.nowISO8601()" } }
응답 매핑 템플릿에서는 기본값인 Forward the result(결과 전달)를 선택합니다. 해석기를 저장합니다. 이제 애플리케이션이 준비되었으며 페이징하십시오!
페이지 전송 및 구독
클라이언트에서 페이지를 수신하도록 하려면 먼저 클라이언트가 받은 편지함을 구독해야 합니다.
Queries(쿼리) 창에서 inbox
구독을 실행하십시오.
subscription Inbox { inbox(to: "Nadia") { body to from sentAt } }
Nadia는 Mutation.page
뮤테이션이 호출될 때마다 페이지를 수신합니다. 변형을 실행하여 변형을 호출해 보겠습니다.
mutation Page { page(to: "Nadia", body: "Hello, World!") { body to from sentAt } }
방금 페이지를 보내고 를 떠나지 않고 수신하여 로컬 해석기의 사용을 시연했습니다 AWS AppSync.