5단계: Snowflake에서 AWS용 외부 함수 만들기
5단계: Snowflake에서 AWS용 외부 함수 만들기
이 문서는 Snowflake에 외부 함수(external function) 객체를 만드는 방법을 설명해 드려요. 이 객체는 원격 서비스가 받아들이는 파라미터 같은 원격 서비스에 대한 정보를 저장해요. AWS Management Console을 사용하든 AWS CloudFormation 템플릿을 사용하든 지침은 동일해요. CREATE EXTERNAL FUNCTION 명령으로 함수를 만들고, 호출해 잘 동작하는지 확인하는 절차를 보여줘요.
본문
이 문서는 Snowflake에 외부 함수 객체를 만드는 방법을 설명해요. 이 객체는 원격 서비스가 받아들이는 파라미터 같은 원격 서비스에 대한 정보를 저장해요. AWS Management Console을 사용하든 AWS CloudFormation 템플릿을 사용하든 지침은 동일해요.
Note
Snowflake의 외부 함수는 데이터베이스 객체예요. 즉 데이터베이스의 스키마에 만들어야 해요. 외부 함수를 만들려면 함수를 만드는 데이터베이스와 스키마에 대한 적절한 권한이 있어야 해요.
자세한 내용은 액세스 제어 권한을 참조하세요.
이전 단계
4단계: Management Console에서 AWS용 API 통합을 프록시 서비스에 연결
외부 함수 만들기
이전에 CREATE API INTEGRATION 명령을 입력했던 Snowflake 웹 인터페이스로 돌아가요.
CREATE EXTERNAL FUNCTION명령을 입력해요. 다음과 비슷해야 해요:
CREATE EXTERNAL FUNCTION my_external_function(n INTEGER, v VARCHAR)
RETURNS VARIANT
API_INTEGRATION = <api_integration_name>
AS '<resource_invocation_url>';
명령을 상황에 맞게 수정하세요:
<api_integration_name>값은 이전에 만든 API 통합의 이름을 포함해야 해요.<resource_invocation_url>값은 워크시트에 기록한Resource Invocation URL이어야 해요. 이 URL이 스테이지 이름뿐 아니라 API Gateway 리소스 이름도 포함하는지 확인하세요.- 함수 이름도 원하면 수정할 수 있어요.
이 예시는 두 인자(INTEGER와 VARCHAR)를 전달해요. 이는 Lambda 함수가 기대하는 인자들이기 때문이에요. 자신의 Lambda 함수를 만들 때는 그 Lambda 함수에 적절한 인자를 전달해야 해요.
-
추적 워크시트의
External Function Name필드에 외부 함수의 이름을 기록해요. -
위에서 입력한 CREATE EXTERNAL FUNCTION 명령을 아직 실행하지 않았다면 지금 실행해요.
외부 함수 테스트하기
이제 외부 함수를 호출해 제대로 동작하는지 확인할 수 있어야 해요.
자세한 내용은 AWS용 외부 함수 호출하기를 참조하세요.
다음 단계
없음. 함수를 호출할 수 있었다면 AWS용 외부 함수를 성공적으로 만든 거예요.
더 알아보기 (Learn more)
- CREATE EXTERNAL FUNCTION — 외부 함수 생성 구문과 옵션
- 3단계: Snowflake에서 AWS용 API 통합 만들기 — API 통합 생성
- AWS용 외부 함수 호출하기 — 만들어진 함수 호출
- 외부 함수 모범 사례 — 호출 시 주의 사항