기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
참고
이제는 APPSYNC_JS 런타임과 해당 문서를 주로 지원합니다. 여기에서 APPSYNC_JS 런타임과 해당 안내서를 사용해 보세요.
직접 Lambda 해석기를 사용하면 AWS Lambda 데이터 소스를 사용할 때 VTL 매핑 템플릿 사용을 피할 수 있습니다. AWS AppSync는 Lambda 함수에 대한 기본 페이로드와 Lambda 함수의 응답에서 GraphQL 유형으로의 기본 변환을 제공할 수 있습니다. 요청 템플릿, 응답 템플릿 또는 둘 다 제공하지 않도록 선택할 수 있습니다. 그러면 AWS AppSync에서 그에 따라 처리합니다.
AWS AppSync가 제공하는 기본 요청 페이로드 및 응답 변환에 대한 자세한 내용은 Direct Lambda 해석기 참조를 참조하세요. AWS Lambda 데이터 소스 설정 및 IAM 신뢰 정책 설정에 대한 자세한 내용은 데이터 소스 연결을 참조하세요.
직접 Lambda 해석기 구성
다음 섹션에서는 Lambda 데이터 원본을 연결하고 Lambda 해석기를 필드에 추가하는 방법을 보여 줍니다.
Lambda 데이터 원본 추가
직접 Lambda 해석기를 활성화하려면 먼저 Lambda 데이터 원본을 추가해야 합니다.
-
에 로그인 AWS Management Console 하고 AppSync 콘솔
을 엽니다. -
API 대시보드에서 GraphQL API를 선택합니다.
-
사이드바에서 데이터 원본을 선택합니다.
-
-
데이터 원본 생성을 선택합니다.
-
데이터 원본 이름에 데이터 원본의 이름(예:
myFunction
)을 입력합니다. -
데이터 원본 유형에 AWS Lambda 함수를 선택합니다.
-
리전에서 적절한 리전을 선택합니다.
-
함수 ARN에는 드롭다운 목록에서 Lambda 함수를 선택합니다. 함수 이름을 검색하거나 사용하려는 함수의 ARN을 직접 입력할 수 있습니다.
-
새 IAM 역할을 만들거나(권장)
lambda:invokeFunction
IAM 권한이 있는 기존 역할을 선택합니다. 기존 역할에는 데이터 원본 연결 섹션에 설명된 대로 신뢰 정책이 필요합니다.다음은 리소스에서 작업을 수행하는 데 필요한 권한을 가진 IAM 정책의 예입니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:invokeFunction" ], "Resource": [ "arn:aws:lambda:us-west-2:123456789012:function:myFunction", "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*" ] } ] }
-
-
생성 버튼을 선택합니다.
직접 Lambda 해석기 활성화
Lambda 데이터 소스를 생성하고 AWS AppSync가 함수를 호출할 수 있도록 적절한 IAM 역할을 설정한 후 해석기 또는 파이프라인 함수에 연결할 수 있습니다.
-
에 로그인 AWS Management Console 하고 AppSync 콘솔
을 엽니다. -
API 대시보드에서 GraphQL API를 선택합니다.
-
사이드바에서 스키마를 선택합니다.
-
-
해석기 창에서 필드 또는 작업을 선택한 다음 연결 버튼을 선택합니다.
-
새 해석기 생성 페이지의 드롭다운 목록에서 Lambda 함수를 선택합니다.
-
직접 Lambda 해석기를 활용하려면 매핑 템플릿 구성 섹션에서 요청 및 응답 매핑 템플릿이 비활성화되었는지 확인하세요.
-
해석기 저장 버튼을 선택합니다.
매핑 템플릿을 비활성화하면 몇 가지 추가 동작이 AWS AppSync에서 발생합니다.
-
매핑 템플릿을 비활성화하면 Direct Lambda 해석기 참조에 지정된 기본 데이터 변환을 수락 AWS AppSync 한다는 신호를 보냅니다.
-
요청 매핑 템플릿을 비활성화하면 Lambda 데이터 원본이 전체 컨텍스트 객체로 구성된 페이로드를 수신합니다.
-
응답 매핑 템플릿을 비활성화하면 요청 매핑 템플릿의 버전 또는 요청 매핑 템플릿이 비활성화되었는지 여부에 따라 Lambda 간접 호출의 결과가 번역됩니다.