5단계: Snowflake에서 AWS용 외부 함수 만들기

5단계: Snowflake에서 AWS용 외부 함수 만들기

이 문서는 Snowflake에 외부 함수(external function) 객체를 만드는 방법을 설명해 드려요. 이 객체는 원격 서비스가 받아들이는 파라미터 같은 원격 서비스에 대한 정보를 저장해요. AWS Management Console을 사용하든 AWS CloudFormation 템플릿을 사용하든 지침은 동일해요. CREATE EXTERNAL FUNCTION 명령으로 함수를 만들고, 호출해 잘 동작하는지 확인하는 절차를 보여줘요.

출처: Snowflake SQL Reference

본문

이 문서는 Snowflake에 외부 함수 객체를 만드는 방법을 설명해요. 이 객체는 원격 서비스가 받아들이는 파라미터 같은 원격 서비스에 대한 정보를 저장해요. AWS Management Console을 사용하든 AWS CloudFormation 템플릿을 사용하든 지침은 동일해요.

Note

Snowflake의 외부 함수는 데이터베이스 객체예요. 즉 데이터베이스의 스키마에 만들어야 해요. 외부 함수를 만들려면 함수를 만드는 데이터베이스와 스키마에 대한 적절한 권한이 있어야 해요.

자세한 내용은 액세스 제어 권한을 참조하세요.

이전 단계

4단계: Management Console에서 AWS용 API 통합을 프록시 서비스에 연결

외부 함수 만들기

이전에 CREATE API INTEGRATION 명령을 입력했던 Snowflake 웹 인터페이스로 돌아가요.

  1. 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 함수에 적절한 인자를 전달해야 해요.

  1. 추적 워크시트의 External Function Name 필드에 외부 함수의 이름을 기록해요.

  2. 위에서 입력한 CREATE EXTERNAL FUNCTION 명령을 아직 실행하지 않았다면 지금 실행해요.

외부 함수 테스트하기

이제 외부 함수를 호출해 제대로 동작하는지 확인할 수 있어야 해요.

자세한 내용은 AWS용 외부 함수 호출하기를 참조하세요.

다음 단계

없음. 함수를 호출할 수 있었다면 AWS용 외부 함수를 성공적으로 만든 거예요.

더 알아보기 (Learn more)