4단계: Snowflake에서 GCP용 외부 함수 만들기

4단계: Snowflake에서 GCP용 외부 함수 만들기

이 문서는 원격 서비스에 대한 정보(예: 원격 서비스가 받아들이는 파라미터)를 저장하는 외부 함수 객체를 Snowflake에 만드는 방법을 설명해요.

출처: Snowflake SQL Reference

본문

이 주제는 Snowflake에서 외부 함수 객체를 만드는 방법을 설명해요. 이 객체는 원격 서비스에 대한 정보(예: 원격 서비스가 받아들이는 파라미터)를 저장해요.

주의

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

자세한 내용은 Access control privileges를 참고해요.

이전 단계

3단계: Snowflake에서 GCP용 API 통합 만들기

외부 함수 객체 만들기

이 작업은 Classic Console의 Worksheets 페이지에 있다고 가정해요.

  • CREATE EXTERNAL FUNCTION 문을 입력해요. 문장은 다음처럼 보여야 해요:
create or replace external function external_function_name(parameters)
 returns variant
 api_integration = api_integration_name
 as '';
  • external_function_name을 고유한 함수 이름(예: echo)으로 바꿔요. 이 이름은 객체 식별자(Object identifiers) 규칙을 따라야 해요. 또한 함수 이름을 추적 워크시트의 "External Function Name" 필드에 기록해요.

  • parameters에 함수의 파라미터 이름과 SQL 데이터 타입(있는 경우)을 넣어요. 예를 들어:

a integer, b varchar

파라미터는 원격 서비스가 기대하는 파라미터와 대응해야 해요. 파라미터 이름은 일치할 필요가 없지만 데이터 타입은 호환되어야 해요.

또한 파라미터 이름과 데이터 타입을 추적 워크시트의 "External Function Name" 필드에 기록해요.

  • api_integration_name을 추적 워크시트의 "API Integration Name" 필드 값으로 바꿔요.

  • as ''''을 추적 워크시트의 Gateway Base URLPath Suffix 필드 값을 슬래시(/)로 구분해 넣어요. URL은 다음처럼 보여야 해요:

https://gateway-base-url/path-suffix
  • 아직 실행하지 않았다면, 입력한 CREATE EXTERNAL FUNCTION 명령을 실행해요.

외부 함수 테스트하기

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

주의

이 튜토리얼의 2단계(콘솔에서 프록시 서비스(Google Cloud API Gateway) 만들기)에서 게이트웨이를 보호하도록 구성 파일에 보안 정의(security definition)를 추가했다면, 이 튜토리얼의 5단계(콘솔에서 프록시 서비스용 GCP 보안 정책 만들기)에서 구성 파일의 보안 정의를 업데이트할 때까지 외부 함수를 테스트할 수 없어요.

자세한 내용은 GCP용 외부 함수 호출하기를 참고해요.

다음 단계

5단계: 콘솔에서 프록시 서비스용 GCP 보안 정책 만들기

더 알아보기 (Learn more)