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

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

이 문서는 프록시 서비스(즉, Google Cloud API Gateway)와 함께 사용할 API 통합(API Integration) 객체를 Snowflake에 만드는 방법을 설명해요.

출처: Snowflake SQL Reference

본문

이 주제는 프록시 서비스(즉, Google Cloud API Gateway)와 연동하기 위해 Snowflake에 API 통합 객체를 만드는 방법을 설명해요.

이전 단계

2단계: 콘솔에서 프록시 서비스(Google Cloud API Gateway) 만들기

API 통합 객체 만들기

CREATE API INTEGRATION 명령을 사용해 API 통합 객체를 만들어요.

  • Snowflake 세션(보통 Snowflake 웹 인터페이스 세션)을 열어요.

  • USE ROLE 명령을 실행해서 ACCOUNTADMIN 역할 또는 CREATE INTEGRATION 권한이 있는 역할을 사용해요. 예를 들어:

use role has_accountadmin_privileges;
  • CREATE API INTEGRATION 문을 입력해요. 문장은 다음처럼 보여야 해요:
create or replace api integration integration_name
 api_provider = google_api_gateway
 google_audience = ''
 api_allowed_prefixes = ('')
 enabled = true;

문장에서:

  • integration_name을 고유한 통합 이름(예: my_api_integration_name)으로 바꿔요. 이름은 객체 식별자(Object identifiers) 규칙을 따라야 해요. 또한 통합 이름을 추적 워크시트의 API Integration Name 필드에 기록해요. 나중에 생성 과정에서 CREATE EXTERNAL FUNCTION 명령을 실행할 때 이 이름이 필요해요.

  • google_audience''을 추적 워크시트의 Managed Service Identifier 필드 값으로 바꿔요.

    인증 중에 Snowflake는 JWT(JSON Web Token)를 Google에 전달해요. JWT에는 "aud"("audience") claim이 포함되며, Snowflake는 이 값을 google_audience 값으로 설정해요.

    Google 인증에 대한 자세한 내용은 Google 서비스 계정 인증 문서를 참고해요.

  • api_allowed_prefixes''을 추적 워크시트의 Gateway Base URL 필드 값으로 바꿔요. 이 필드는 이 API 통합을 적용할 URL을 제한할 수 있게 해요. Gateway Base URL보다 더 제한적인 값을 사용할 수 있어요.

  • 아직 실행하지 않았다면, 입력한 CREATE API INTEGRATION 문을 실행해요.

API 통합의 API_GCP_SERVICE_ACCOUNT 정보 기록하기

  • DESCRIBE INTEGRATION 명령을 실행해요. 예를 들어:
describe integration my_api_integration_name;
  • API_GCP_SERVICE_ACCOUNT 값을 추적 워크시트의 API_GCP_SERVICE_ACCOUNT 필드에 기록해요.

다음 단계

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

더 알아보기 (Learn more)