쿠키 기본 설정 선택

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

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

GraphQL의 스칼라 유형

포커스 모드
GraphQL의 스칼라 유형 - AWS AppSync GraphQL

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

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

GraphQL 객체 유형에는 이름과 필드가 있으며 이러한 필드에는 하위 필드가 있을 수 있습니다. 궁극적으로 객체 유형의 필드는 쿼리의 리프를 나타내는 스칼라 유형으로 해석되어야 합니다. 객체 유형과 스칼라에 대한 자세한 내용은 GraphQL 웹 사이트의 스키마 및 유형을 참조하세요.

기본 GraphQL 스칼라 세트 외에도 AWS 접두사로 시작하는 서비스 정의 스칼라를 사용할 AWS AppSync 수 있습니다. AWS AppSync 는 사용자 정의(사용자 지정) 스칼라 생성을 지원하지 않습니다. 기본 스칼라 또는 AWS 스칼라를 사용해야 합니다.

AWS를 사용자 지정 객체 형식의 접두사로 사용할 수 없습니다.

다음 섹션은 스키마 입력에 대한 참조입니다.

기본 스칼라

GraphQL은 다음과 같은 디폴트 스칼라를 정의합니다.

ID

객체의 고유한 식별자입니다. 이 스칼라는 String처럼 직렬화되어 있지만 사람이 읽을 수는 없습니다.

String

UTF-8 문자 시퀀스입니다.

Int

-(231)과 231-1 사이의 정수 값입니다.

Float

IEEE 754 부동 소수점 값입니다.

Boolean

부울 값으로 true 또는 false 둘 중 하나입니다.

기본 스칼라 목록

ID

객체의 고유한 식별자입니다. 이 스칼라는 String처럼 직렬화되어 있지만 사람이 읽을 수는 없습니다.

String

UTF-8 문자 시퀀스입니다.

Int

-(231)과 231-1 사이의 정수 값입니다.

Float

IEEE 754 부동 소수점 값입니다.

Boolean

부울 값으로 true 또는 false 둘 중 하나입니다.

AWS AppSync 스칼라

AWS AppSync 는 다음과 같은 스칼라를 정의합니다.

AWSDate

YYYY-MM-DD 형식의 확장 ISO 8601 날짜 문자열입니다.

AWSTime

hh:mm:ss.sss 형식의 확장 ISO 8601 시간 문자열입니다.

AWSDateTime

YYYY-MM-DDThh:mm:ss.sssZ 형식의 확장 ISO 8601 날짜 및 시간 문자열입니다.

참고

AWSDate, AWSTimeAWSDateTime 스칼라는 선택적으로 시간대 오프셋을 포함할 수 있습니다. 예를 들어,1970-01-01Z, 1970-01-01-07:001970-01-01+05:30 값은 AWSDate에 대해 모두 유효합니다. 시간대 오프셋은 Z(UTC)이거나 시간 및 분(및 선택적으로 초) 단위의 오프셋이어야 합니다. 예: ±hh:mm:ss. 시간대 오프셋의 초 필드는 ISO 8601 표준을 따르지 않더라도 유효한 것으로 간주됩니다.

AWSTimestamp

1970-01-01-T00:00Z 이전 또는 이후의 시간(초)을 나타내는 정수 값입니다.

AWSEmail

RFC 822에 정의된 local-part@domain-part 형식의 이메일 주소입니다.

AWSJSON

JSON 문자열입니다. 유효한 JSON 구문은 리터럴 입력 문자열이 아닌 맵, 목록 또는 스칼라 값으로 자동 구문 분석되어 해석기 코드에 로드됩니다. 인용되지 않은 문자열이나 잘못된 JSON으로 인해 GraphQL 검증 오류가 발생합니다.

AWSPhone

전화번호입니다. 이 값은 문자열로 저장됩니다. 전화번호에는 숫자 그룹을 구분하기 위한 공백이나 하이픈이 포함될 수 있습니다. 국가 코드가 없는 전화번호는 북아메리카 번호 체계(NANP)를 준수하는 미국/북미 번호로 간주됩니다.

AWSURL

RFC 1738에 정의된 URL입니다. 예: https://www.amazon.com/dp/B000NZW3KC/또는 mailto:example@example.com. URL은 스키마(http, mailto)를 포함해야 하며 경로 부분에 슬래시(//)를 두 개 포함할 수 없습니다.

AWSIPAddress

유효한 IPv4 또는 IPv6 주소입니다. IPv4 주소는 네 개의 점으로 구분된 표기법(123.12.34.56)으로 표시되어야 합니다. IPv6 주소는 괄호가 없고 콜론으로 구분된 형식(1a2b:3c4b::1234:4567)이어야 합니다. 서브넷 마스크를 나타내는 선택적 CIDR 접미사(123.45.67.89/16)를 포함할 수 있습니다.

AWS AppSync 스칼라 목록

AWSDate

YYYY-MM-DD 형식의 확장 ISO 8601 날짜 문자열입니다.

AWSTime

hh:mm:ss.sss 형식의 확장 ISO 8601 시간 문자열입니다.

AWSDateTime

YYYY-MM-DDThh:mm:ss.sssZ 형식의 확장 ISO 8601 날짜 및 시간 문자열입니다.

참고

AWSDate, AWSTimeAWSDateTime 스칼라는 선택적으로 시간대 오프셋을 포함할 수 있습니다. 예를 들어,1970-01-01Z, 1970-01-01-07:001970-01-01+05:30 값은 AWSDate에 대해 모두 유효합니다. 시간대 오프셋은 Z(UTC)이거나 시간 및 분(및 선택적으로 초) 단위의 오프셋이어야 합니다. 예: ±hh:mm:ss. 시간대 오프셋의 초 필드는 ISO 8601 표준을 따르지 않더라도 유효한 것으로 간주됩니다.

AWSTimestamp

1970-01-01-T00:00Z 이전 또는 이후의 시간(초)을 나타내는 정수 값입니다.

AWSEmail

RFC 822에 정의된 local-part@domain-part 형식의 이메일 주소입니다.

AWSJSON

JSON 문자열입니다. 유효한 JSON 구문은 리터럴 입력 문자열이 아닌 맵, 목록 또는 스칼라 값으로 자동 구문 분석되어 해석기 코드에 로드됩니다. 인용되지 않은 문자열이나 잘못된 JSON으로 인해 GraphQL 검증 오류가 발생합니다.

AWSPhone

전화번호입니다. 이 값은 문자열로 저장됩니다. 전화번호에는 숫자 그룹을 구분하기 위한 공백이나 하이픈이 포함될 수 있습니다. 국가 코드가 없는 전화번호는 북아메리카 번호 체계(NANP)를 준수하는 미국/북미 번호로 간주됩니다.

AWSURL

RFC 1738에 정의된 URL입니다. 예: https://www.amazon.com/dp/B000NZW3KC/또는 mailto:example@example.com. URL은 스키마(http, mailto)를 포함해야 하며 경로 부분에 슬래시(//)를 두 개 포함할 수 없습니다.

AWSIPAddress

유효한 IPv4 또는 IPv6 주소입니다. IPv4 주소는 네 개의 점으로 구분된 표기법(123.12.34.56)으로 표시되어야 합니다. IPv6 주소는 괄호가 없고 콜론으로 구분된 형식(1a2b:3c4b::1234:4567)이어야 합니다. 서브넷 마스크를 나타내는 선택적 CIDR 접미사(123.45.67.89/16)를 포함할 수 있습니다.

스키마 예제 사용

다음 예제 GraphQL 스키마는 모든 사용자 지정 스칼라를 '객체'로 사용하고 기본 put, get 및 list 작업에 대한 해석기 요청 및 응답 템플릿을 보여줍니다. 마지막으로 예제는 쿼리 및 뮤테이션을 실행할 때 이를 사용하는 방법을 보여줍니다.

type Mutation { putObject( email: AWSEmail, json: AWSJSON, date: AWSDate, time: AWSTime, datetime: AWSDateTime, timestamp: AWSTimestamp, url: AWSURL, phoneno: AWSPhone, ip: AWSIPAddress ): Object } type Object { id: ID! email: AWSEmail json: AWSJSON date: AWSDate time: AWSTime datetime: AWSDateTime timestamp: AWSTimestamp url: AWSURL phoneno: AWSPhone ip: AWSIPAddress } type Query { getObject(id: ID!): Object listObjects: [Object] } schema { query: Query mutation: Mutation }

putObject에 대한 요청 템플릿의 모양은 다음과 같습니다. putObjectPutItem 작업을 사용하여 Amazon DynamoDB 테이블에서 항목을 생성하거나 업데이트합니다. 참고로 이 코드 조각에는 데이터 소스로 구성된 Amazon DynamoDB 테이블이 없습니다. 다음은 예시용으로만 사용되고 있습니다.

{ "version" : "2017-02-28", "operation" : "PutItem", "key" : { "id": $util.dynamodb.toDynamoDBJson($util.autoId()), }, "attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args) }

putObject의 응답 템플릿은 다음과 같은 결과를 반환합니다.

$util.toJson($ctx.result)

getObject에 대한 요청 템플릿의 모양은 다음과 같습니다. getObjectGetItem 작업을 시작하여 주어진 기본 키와 함께 항목에 대한 속성 집합을 반환합니다. 참고로 이 코드 조각에는 데이터 소스로 구성된 Amazon DynamoDB 테이블이 없습니다. 다음은 예시용으로만 사용되고 있습니다.

{ "version": "2017-02-28", "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.args.id), } }

getObject의 응답 템플릿은 다음과 같은 결과를 반환합니다.

$util.toJson($ctx.result)

listObjects에 대한 요청 템플릿의 모양은 다음과 같습니다. listObjectsScan 작업을 사용하여 하나 이상의 항목과 속성을 반환합니다. 참고로 이 코드 조각에는 데이터 소스로 구성된 Amazon DynamoDB 테이블이 없습니다. 다음은 예시용으로만 사용되고 있습니다.

{ "version" : "2017-02-28", "operation" : "Scan", }

listObjects의 응답 템플릿은 다음과 같은 결과를 반환합니다.

$util.toJson($ctx.result.items)

다음은 이 스키마를 GraphQL 쿼리와 함께 사용하는 몇 가지 예제입니다.

mutation CreateObject { putObject(email: "example@example.com" json: "{\"a\":1, \"b\":3, \"string\": 234}" date: "1970-01-01Z" time: "12:00:34." datetime: "1930-01-01T16:00:00-07:00" timestamp: -123123 url:"https://amazon.com" phoneno: "+1 555 764 4377" ip: "127.0.0.1/8" ) { id email json date time datetime url timestamp phoneno ip } } query getObject { getObject(id:"0d97daf0-48e6-4ffc-8d48-0537e8a843d2"){ email url timestamp phoneno ip } } query listObjects { listObjects { json date time datetime } }

이 페이지에서

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