쿠키 기본 설정 선택

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

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

확장 프로그램

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

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

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

참고

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

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

$extensions.evictFromApiCache(String, String, Object) : Object

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

참고

이 유틸리티는 뮤테이션에만 작동하고 쿼리에는 작동하지 않습니다.

$extensions.evictFromApiCache(String, String, Object) : Object

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

참고

이 유틸리티는 뮤테이션에만 작동하고 쿼리에는 작동하지 않습니다.

$extensions.setSubscriptionFilter(filterJsonObject)

향상된 구독 필터를 정의합니다. 각 구독 알림 이벤트는 제공된 구독 필터에 대해 평가되고 모든 필터가 true로 평가되면 클라이언트에 알림을 전달합니다. 인수는 다음 섹션에 설명된 대로 filterJsonObject입니다.

참고

이 확장 메서드는 구독 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

$extensions.setSubscriptionInvalidationFilter(filterJsonObject)

구독 무효화 필터를 정의합니다. 구독 필터는 무효화 페이로드에 대해 평가된 후 필터가 true로 평가되면 지정된 구독을 무효화합니다. 인수는 다음 섹션에 설명된 대로 filterJsonObject입니다.

참고

이 확장 메서드는 구독 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

$extensions.invalidateSubscriptions(invalidationJsonObject)

뮤테이션으로부터 구독 무효화를 시작하는 데 사용됩니다. 인수는 다음 섹션에 설명된 대로 invalidationJsonObject입니다.

참고

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

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

$extensions.setSubscriptionFilter(filterJsonObject)

향상된 구독 필터를 정의합니다. 각 구독 알림 이벤트는 제공된 구독 필터에 대해 평가되고 모든 필터가 true로 평가되면 클라이언트에 알림을 전달합니다. 인수는 다음 섹션에 설명된 대로 filterJsonObject입니다.

참고

이 확장 메서드는 구독 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

$extensions.setSubscriptionInvalidationFilter(filterJsonObject)

구독 무효화 필터를 정의합니다. 구독 필터는 무효화 페이로드에 대해 평가된 후 필터가 true로 평가되면 지정된 구독을 무효화합니다. 인수는 다음 섹션에 설명된 대로 filterJsonObject입니다.

참고

이 확장 메서드는 구독 해석기의 응답 매핑 템플릿에서만 사용할 수 있습니다.

$extensions.invalidateSubscriptions(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 }

필드: fieldName

문자열 유형 fieldName은 구독 알림 페이로드에서 fieldName과 일치하는 GraphQL 스키마에 정의된 필드를 나타냅니다. 일치가 발견되면 GraphQL 스키마 필드의 value는 구독 알림 필터의 value와 비교됩니다. 다음 예제에서 fieldName 필터는 주어진 GraphQL 유형에 정의된 service 필드와 일치합니다. 알림 페이로드에 AWS AppSync와 동등한 value가 있는 service 필드가 포함된 경우 필터는 true로 평가합니다.

{ "fieldName" : "service", "operator" : "eq", "value" : "AWS AppSync" }

필드: 값

값은 연산자에 따라 다른 유형일 수 있습니다.

  • 단일 숫자 또는 부울

    • 문자열 예제: "test", "service"

    • 숫자 예제: 1, 2, 45.75

    • 부울 예제: true, false

  • 숫자 또는 문자열 페어

    • 문자열 페어 예제:["test1","test2"], ["start","end"]

    • 숫자 페어 예제: [1,4], [67,89], [12.45, 95.45]

  • 숫자 또는 문자열 배열

    • 문자열 배열 예제: ["test1","test2","test3","test4","test5"]

    • 숫자 배열 예제: [1,2,3,4,5], [12.11,46.13,45.09,12.54,13.89]

필드: 연산자

대소문자를 구분하는 문자열로, 가능한 값은 다음과 같습니다.

연산자 설명 가능한 값 유형
eq Equal integer, float, string, Boolean
ne Not equal integer, float, string, Boolean
le Less than or equal integer, float, string
lt Less than integer, float, string
ge Greater than or equal integer, float, string
gt Greater than integer, float, string
contains Checks for a subsequence or value in the set. integer, float, string
notContains Checks for the absence of a subsequence or absence of a value in the set. integer, float, string
beginsWith Checks for a prefix. string
in Checks for matching elements that are in the list. Array of integer, float, or string
notIn Checks for matching elements that aren't in the list. Array of integer, float, or string
between Between two values integer, float, string
containsAny Contains common elements integer, float, string

다음 테이블에는 구독 알림에서 각 연산자가 사용되는 방식이 설명되어 있습니다.

eq (equal)

eq 연산자는 구독 알림 필드 값이 일치하고 필터 값과 엄격하게 동일하면 true로 평가됩니다. 다음 예에서 구독 알림에 AWS AppSync와 동등한 값을 가진 service 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열, 부울

{ "fieldName" : "service", "operator" : "eq", "value" : "AWS AppSync" }
ne (not equal)

ne 연산자는 구독 알림 필드 값이 필터 값과 다르면 true로 평가됩니다. 다음 예에서는 구독 알림에 AWS AppSync와 다른 값을 가진 service 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열, 부울

{ "fieldName" : "service", "operator" : "ne", "value" : "AWS AppSync" }
le (less or equal)

le 연산자는 구독 알림 필드 값이 필터 값과 같거나 그보다 작으면 true로 평가됩니다. 다음 예에서는 구독 알림에 5와 같거나 그보다 작은 값을 가진 size 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "size", "operator" : "le", "value" : 5 }
lt (less than)

lt 연산자는 구독 알림 필드 값이 필터 값보다 낮으면 true로 평가됩니다. 다음 예에서는 구독 알림에 5보다 낮은 값을 가진 size 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "size", "operator" : "lt", "value" : 5 }
ge (greater or equal)

ge 연산자는 구독 알림 필드 값이 필터 값과 같거나 그보다 크면 true로 평가됩니다. 다음 예에서는 구독 알림에 5와 같거나 그보다 큰 값을 가진 size 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "size", "operator" : "ge", "value" : 5 }
gt (greater than)

gt 연산자는 구독 알림 필드 값이 필터 값보다 크면 true로 평가됩니다. 다음 예에서는 구독 알림에 5보다 높은 값을 가진 size 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "size", "operator" : "gt", "value" : 5 }
contains

contains 연산자는 집합이나 단일 항목의 하위 문자열, 하위 시퀀스 또는 값을 확인합니다. 구독 알림 필드 값에 필터 값이 포함된 경우 contains 연산자가 있는 필터는 true로 평가됩니다. 다음 예에서는 구독 알림에 값 10이 포함된 배열 값이 있는 seats 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "seats", "operator" : "contains", "value" : 10 }

다른 예로, 필터는 구독 알림에 launch가 하위 문자열로 포함된 event 필드가 있는 경우 true로 평가합니다.

{ "fieldName" : "event", "operator" : "contains", "value" : "launch" }
notContains

notContains 연산자는 집합이나 단일 항목에 하위 문자열, 하위 시퀀스 또는 값이 없는지 확인합니다. 구독 알림 필드 값에 필터 값이 포함되지 않은 경우 notContains 연산자가 있는 필터는 true로 평가됩니다. 다음 예에서는 구독 알림에 값 10이 포함되지 않은 배열 값이 있는 seats 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열

{ "fieldName" : "seats", "operator" : "notContains", "value" : 10 }

다른 예로, 필터는 구독 알림에 launch가 하위 문자열로 포함되지 않은 event 필드 값이 있는 경우 true로 평가합니다.

{ "fieldName" : "event", "operator" : "notContains", "value" : "launch" }
beginsWith

beginsWith 연산자는 문자열에서 접두사를 확인합니다. 구독 알림 필드 값이 필터 값으로 시작하는 경우 beginsWith 연산자가 포함된 필터는 true로 평가됩니다. 다음 예에서는 구독 알림에 값이 AWS로 시작하는 service 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 문자열

{ "fieldName" : "service", "operator" : "beginsWith", "value" : "AWS" }
in

in 연산자는 배열에서 일치하는 요소가 있는지 확인합니다. in 연산자가 포함된 필터는 구독 알림 필드 값이 배열에 존재하는 경우 true로 평가됩니다. 다음 예에서는 구독 알림에 [1,2,3] 배열에 있는 값 중 하나가 포함된 severity 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수 배열, 부동 소수점 또는 문자열

{ "fieldName" : "severity", "operator" : "in", "value" : [1,2,3] }
notIn

notIn 연산자는 배열에서 누락된 요소가 있는지 확인합니다. notIn 연산자가 포함된 필터는 구독 알림 필드 값이 배열에 존재하지 않는 경우 true로 평가됩니다. 다음 예에서는 구독 알림에 [1,2,3] 배열에 없는 값 중 하나가 포함된 severity 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수 배열, 부동 소수점 또는 문자열

{ "fieldName" : "severity", "operator" : "notIn", "value" : [1,2,3] }
between

between 연산자는 두 숫자 또는 문자열 사이의 값을 확인합니다. 구독 알림 필드 값이 필터의 값 페어 사이에 있는 경우 between 연산자가 포함된 필터는 true로 평가됩니다. 다음 예에서는 구독 알림에 값이 2,3,4severity 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수 페어, 부동 소수점 또는 문자열

{ "fieldName" : "severity", "operator" : "between", "value" : [1,5] }
containsAny

containsAny 연산자는 배열에서 공통된 요소가 있는지 확인합니다. 구독 알림 필드 집합 값 및 필터 집합 값의 교차점이 비어 있지 않은 경우 containsAny 연산자가 있는 필터는 true로 평가됩니다. 다음 예에서는 구독 알림에 10 또는 15를 포함하는 배열 값을 가진 seats 필드가 있는 경우 필터는 true로 평가합니다. 이는 구독 알림에 [10,11] 또는 [15,20,30]라는 seats 필드 값이 있는 경우 필터가 true로 평가한다는 의미입니다.

가능한 값 유형: 정수, 부동 소수점 또는 문자열

{ "fieldName" : "seats", "operator" : "containsAny", "value" : [10, 15] }

eq 연산자는 구독 알림 필드 값이 일치하고 필터 값과 엄격하게 동일하면 true로 평가됩니다. 다음 예에서 구독 알림에 AWS AppSync와 동등한 값을 가진 service 필드가 있는 경우 필터는 true로 평가합니다.

가능한 값 유형: 정수, 부동 소수점, 문자열, 부울

{ "fieldName" : "service", "operator" : "eq", "value" : "AWS AppSync" }

AND 로직

filterGroup 배열의 filters 객체 내에 여러 항목을 정의하여 AND 논리를 사용하여 여러 필터를 결합할 수 있습니다. 다음 예에서는 구독 알림에 값이 1userId 필드가 있고(AND) Admin 또는 Developergroup 필드 값이 있는 경우 필터는 true로 평가합니다.

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

OR 로직

filterGroup 배열 내에서 여러 필터 객체를 정의하면 OR 논리를 사용하여 여러 필터를 결합할 수 있습니다. 다음 예에서는 구독 알림에 값이 1userId 필드가 있거나(OR) Admin 또는 Developergroup 필드 값이 있는 경우 필터는 true로 평가합니다.

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

예외

필터 사용에는 몇 가지 제한이 있다는 점에 유의하세요.

  • filters 객체에는 필터당 최대 5개의 고유 fieldName 항목이 있을 수 있습니다. 즉, AND 로직을 사용하여 최대 5개의 개별 fieldName 객체를 결합할 수 있습니다.

  • containsAny 연산자에는 최대 20개의 값이 있을 수 있습니다.

  • innotIn 연산자에는 최대 5개의 값이 있을 수 있습니다.

  • 각 연결 문자열은 최대 256자입니다.

  • 각 문자열 비교는 대/소문자를 구분합니다.

  • 중첩된 객체 필터링은 최대 5개의 중첩 수준 필터링을 허용합니다.

  • filterGroup에는 최대 10개의 filters가 있을 수 있습니다. 즉, OR 로직을 사용하여 최대 10개의 개별 filters를 결합할 수 있습니다.

    • in 연산자는 OR 논리의 특별 사례입니다. 다음 예제에서는 두 가지 filters가 있습니다.

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

      이전 필터 그룹은 다음과 같이 평가되며 최대 필터 한도에 포함됩니다.

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

인수: invalidationJsonObject

invalidationJsonObject는 다음을 정의합니다.

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

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

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

    $extensions.invalidateSubscriptions({ "subscriptionField": "onUserDelete", "payload": { "group": "Developer" "type" : "Full-Time" } })

이 페이지에서

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