4단계: Snowflake에서 GCP를 위한 외부 함수 만들기

이 항목에서는 Snowflake에서 외부 함수 오브젝트를 만들기 위한 지침을 제공합니다. 이 오브젝트는 원격 서비스가 허용하는 매개 변수와 같이, 원격 서비스에 대한 정보를 저장합니다.

참고

Snowflake의 외부 함수는 데이터베이스 오브젝트인데, 이는 외부 함수를 데이터베이스의 스키마에서 만들어야 한다는 뜻입니다. 외부 함수를 만들려면 함수를 만드는 데이터베이스 및 스키마에 대한 적절한 권한이 있어야 합니다.

자세한 내용은 액세스 제어 권한 섹션을 참조하십시오.

이 항목의 내용:

외부 함수 오브젝트 만들기

이 작업에서는 사용자가 Classic Console 의 Worksheets Worksheet tab 페이지에 있다고 가정합니다.

  1. CREATE EXTERNAL FUNCTION 문을 입력합니다. 이 문은 다음과 비슷한 형태여야 합니다.

    create or replace external function <external_function_name>(<parameters>)
        returns variant
        api_integration = <api_integration_name>
        as '<function_url>';
    
    Copy
  2. <외부_함수_이름> 을 고유한 함수 이름(예: echo)으로 바꿉니다. 이 이름은 오브젝트 식별자 에 대한 규칙을 따라야 합니다.

    또한, 추적 워크시트의 《외부 함수 이름》 필드에 함수 이름을 기록합니다.

  3. <매개 변수> 를 함수에 대한 매개 변수의 이름과 SQL 데이터 타입(있는 경우)으로 바꿉니다. 예:

    a integer, b varchar
    
    Copy

    매개 변수는 원격 서비스에서 예상하는 매개 변수와 일치해야 합니다. 매개 변수 이름은 일치하지 않아도 되지만, 데이터 타입은 호환 가능해야 합니다.

    또한, 추적 워크시트의 《외부 함수 이름》 필드에 매개 변수 이름과 데이터 타입을 기록합니다.

  4. <api_통합_이름> 을 추적 워크시트에 있는 《API 통합 이름》 필드의 값으로 바꿉니다.

  5. <함수_URL>Gateway Base URLPath Suffix 필드의 값으로 바꾸고, 슬래시(/)로 구분합니다.

    URL은 다음과 비슷한 형태여야 합니다.

    https://<gateway-base-url>/<path-suffix>
    
    Copy
  6. 입력한 CREATE EXTERNAL FUNCTION 명령을 아직 실행하지 않았다면 실행하십시오.

외부 함수 테스트하기

이제 외부 함수를 호출하여 함수가 올바르게 작동하는지 확인할 수 있을 것입니다.

참고

이 자습서의 2단계: Console에서 프록시 서비스(Google Cloud API Gateway) 만들기 에서 게이트웨이를 보호하기 위해 구성 파일에 보안 정의를 추가한 경우, 이 자습서의 5단계: Console에서 프록시 서비스에 대한 GCP 보안 정책 만들기 에 있는 구성 파일에서 보안 정의를 업데이트해야 외부 함수를 테스트할 수 있습니다.

자세한 내용은 GCP용 외부 함수 호출하기 섹션을 참조하십시오.