쿠키 기본 설정 선택

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

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

확장 프로그램

포커스 모드
확장 프로그램 - AWS AppSync GraphQL

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

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

extensions에는 해석기 내에서 추가 작업을 수행할 수 있는 일련의 메서드가 있습니다.

extensions.evictFromApiCache(typeName: string, fieldName: string, keyValuePair: Record<string, string>) : Object

AWS AppSync 서버 측 캐시에서 항목을 제거합니다. 첫 번째 인수는 형식 이름입니다. 두 번째 인수는 필드 이름입니다. 세 번째 인수는 캐싱 키 값을 지정하는 키-값 쌍 항목을 포함하는 객체입니다. 캐시된 해석기의 cachingKey에 있는 캐싱 키와 동일한 순서로 객체에 항목을 넣어야 합니다. 캐싱에 대한 자세한 정보는 캐싱 동작을 참조하세요.

예제 1:

이 예에서는 이름이 context.arguments.semester인 캐싱 키가 사용된 해석기 Query.allClasses에 대해 캐시된 항목을 제거합니다. 뮤테이션이 호출되고 해석기가 실행될 때 항목이 성공적으로 지워지면 응답에는 삭제된 항목 수를 표시하는 apiCacheEntriesDeleted 값이 확장 객체에 포함됩니다.

import { util, extensions } from '@aws-appsync/utils'; export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.evictFromApiCache('Query', 'allClasses', { 'context.arguments.semester': ctx.args.semester, }); return null; }
참고

이 함수는 뮤테이션에만 작동하고 쿼리에는 작동하지 않습니다.

extensions.evictFromApiCache(typeName: string, fieldName: string, keyValuePair: Record<string, string>) : Object

AWS AppSync 서버 측 캐시에서 항목을 제거합니다. 첫 번째 인수는 형식 이름입니다. 두 번째 인수는 필드 이름입니다. 세 번째 인수는 캐싱 키 값을 지정하는 키-값 쌍 항목을 포함하는 객체입니다. 캐시된 해석기의 cachingKey에 있는 캐싱 키와 동일한 순서로 객체에 항목을 넣어야 합니다. 캐싱에 대한 자세한 정보는 캐싱 동작을 참조하세요.

예제 1:

이 예에서는 이름이 context.arguments.semester인 캐싱 키가 사용된 해석기 Query.allClasses에 대해 캐시된 항목을 제거합니다. 뮤테이션이 호출되고 해석기가 실행될 때 항목이 성공적으로 지워지면 응답에는 삭제된 항목 수를 표시하는 apiCacheEntriesDeleted 값이 확장 객체에 포함됩니다.

import { util, extensions } from '@aws-appsync/utils'; export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.evictFromApiCache('Query', 'allClasses', { 'context.arguments.semester': ctx.args.semester, }); return null; }
참고

이 함수는 뮤테이션에만 작동하고 쿼리에는 작동하지 않습니다.

extensions.setSubscriptionFilter(filterJsonObject)

향상된 구독 필터를 정의합니다. 각 구독 알림 이벤트는 제공된 구독 필터에 대해 평가되고 모든 필터가 true로 평가되면 클라이언트에 알림을 전달합니다. 인수는 filterJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: filterJsonObject 섹션에서 확인). 향상된 구독 필터링을 참조하세요.

참고

이 확장 함수는 구독 해석기의 응답 핸들러에서만 사용할 수 있습니다. 또한 필터를 만들 때는 util.transform.toSubscriptionFilter를 사용하는 것이 좋습니다.

extensions.setSubscriptionInvalidationFilter(filterJsonObject)

구독 무효화 필터를 정의합니다. 구독 필터는 무효화 페이로드에 대해 평가된 후 필터가 true로 평가되면 지정된 구독을 무효화합니다. 인수는 filterJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: filterJsonObject 섹션에서 확인). 향상된 구독 필터링을 참조하세요.

참고

이 확장 함수는 구독 해석기의 응답 핸들러에서만 사용할 수 있습니다. 또한 필터를 만들 때는 util.transform.toSubscriptionFilter를 사용하는 것이 좋습니다.

extensions.invalidateSubscriptions(invalidationJsonObject)

뮤테이션으로부터 구독 무효화를 시작하는 데 사용됩니다. 인수는 invalidationJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: invalidationJsonObject 섹션에서 확인).

참고

이 확장은 뮤테이션 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

단일 요청에서 고유한 extensions.invalidateSubscriptions() 메서드 직접 호출을 최대 5개까지만 사용할 수 있습니다. 이 한도를 초과할 경우 GraphQL 오류가 발생합니다.

extensions.setSubscriptionFilter(filterJsonObject)

향상된 구독 필터를 정의합니다. 각 구독 알림 이벤트는 제공된 구독 필터에 대해 평가되고 모든 필터가 true로 평가되면 클라이언트에 알림을 전달합니다. 인수는 filterJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: filterJsonObject 섹션에서 확인). 향상된 구독 필터링을 참조하세요.

참고

이 확장 함수는 구독 해석기의 응답 핸들러에서만 사용할 수 있습니다. 또한 필터를 만들 때는 util.transform.toSubscriptionFilter를 사용하는 것이 좋습니다.

extensions.setSubscriptionInvalidationFilter(filterJsonObject)

구독 무효화 필터를 정의합니다. 구독 필터는 무효화 페이로드에 대해 평가된 후 필터가 true로 평가되면 지정된 구독을 무효화합니다. 인수는 filterJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: filterJsonObject 섹션에서 확인). 향상된 구독 필터링을 참조하세요.

참고

이 확장 함수는 구독 해석기의 응답 핸들러에서만 사용할 수 있습니다. 또한 필터를 만들 때는 util.transform.toSubscriptionFilter를 사용하는 것이 좋습니다.

extensions.invalidateSubscriptions(invalidationJsonObject)

뮤테이션으로부터 구독 무효화를 시작하는 데 사용됩니다. 인수는 invalidationJsonObject입니다(이 인수에 대한 자세한 내용은 아래 인수: invalidationJsonObject 섹션에서 확인).

참고

이 확장은 뮤테이션 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

단일 요청에서 고유한 extensions.invalidateSubscriptions() 메서드 직접 호출을 최대 5개까지만 사용할 수 있습니다. 이 한도를 초과할 경우 GraphQL 오류가 발생합니다.

인수: filterJsonObject

JSON 객체는 구독 또는 무효화 필터를 정의합니다. filterGroup에 있는 필터 배열입니다. 각 필터는 개별 필터의 모음입니다.

{ "filterGroup": [ { "filters" : [ { "fieldName" : "userId", "operator" : "eq", "value" : 1 } ] }, { "filters" : [ { "fieldName" : "group", "operator" : "in", "value" : ["Admin", "Developer"] } ] } ] }

각 필터에는 다음의 세 가지 속성이 있습니다.

  • fieldName - GraphQL 스키마 필드

  • operator - 연산자 유형

  • value - 구독 알림 fieldName 값과 비교할 값.

다음은 이러한 속성에 대한 할당 예시입니다.

{ "fieldName" : "severity", "operator" : "le", "value" : context.result.severity }

인수: invalidationJsonObject

invalidationJsonObject는 다음을 정의합니다.

  • subscriptionField - 무효화할 GraphQL 스키마 구독입니다. subscriptionField에서 문자열로 정의된 단일 구독은 무효화 대상으로 간주됩니다.

  • payload – 무효화 필터가 해당 값에 대해 true로 평가되는 경우 구독 무효화를 위한 입력으로 사용되는 키-값 쌍 목록입니다.

    다음 예에서는 구독 해석기에 정의된 무효화 필터가 payload 값에 대해 true로 평가될 때 onUserDelete 구독을 사용하여 구독 및 연결된 클라이언트를 무효화합니다.

    export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.invalidateSubscriptions({ subscriptionField: 'onUserDelete', payload: { group: 'Developer', type: 'Full-Time' }, }); return ctx.result; }

이 페이지에서

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