3단계: Snowflake에서 AWS를 위한 API 통합 만들기

이 항목에서는 Snowflake에서 프록시 서비스(즉, Amazon API Gateway)와 함께 작동하는 API 통합 오브젝트를 만들기 위한 지침을 제공합니다. Management Console을 사용하든, CloudFormation 템플릿을 사용하든 관계없이 지침은 동일합니다.

이 항목의 내용:

이전 단계

AWS Management Console:

2단계: AWS Management Console에서 프록시 서비스(Amazon API Gateway) 만들기

AWS CloudFormation 템플릿:

2단계: Amazon API Gateway URL과 새 IAM 역할 ARN 기록

전제 조건

Snowflake에서 AWS를 위한 API 통합을 만들려면 다음 정보가 필요합니다.

  • (추적 워크시트의) New IAM Role ARN.

  • (추적 워크시트의) Resource Invocation URL.

API 통합 오브젝트 만들기

  1. Snowflake 세션(일반적으로 Snowflake 웹 인터페이스 세션)을 엽니다.

  2. 예를 들어 다음과 같이 ACCOUNTADMIN 권한 또는 CREATE INTEGRATION 권한이 있는 Snowflake 역할을 사용합니다.

    use role <has_accountadmin_privileges>;
    
    Copy
  3. CREATE API INTEGRATION 명령을 입력하여 API 통합을 만듭니다. 이 명령은 다음과 비슷한 형태여야 합니다.

    CREATE OR REPLACE API INTEGRATION my_api_integration_01
      api_provider = aws_api_gateway
      api_aws_role_arn = '<new_IAM_role_ARN>'
      api_allowed_prefixes = ('https://')
      enabled = true;
    
    Copy

    다음과 같이 명령을 사용자 지정합니다.

    • api_provider 절은 엔드포인트 타입에 따라 설정해야 합니다.

      • 프라이빗 엔드포인트를 사용하는 경우 api_provider 절을 aws_private_api_gateway 로 설정해야 합니다.

      • 미국 정부 GovCloud 엔드포인트를 사용하는 경우 api_provider 절을 aws_gov_api_gateway 또는 aws_gov_private_api_gateway 로 설정해야 합니다.

      • 대부분의 다른 사용자의 경우 api_provider 절을 aws_api_gateway 로 설정해야 합니다.

    • <새_IAM_역할_ARN> 은 추적 워크시트의 New IAM Role ARN 필드에 있는 값이어야 합니다.

    • api_allowed_prefixes 필드는 이전에 기록한 리소스 호출 URL을 포함해야 합니다.

    다음은 완전한 CREATE API INTEGRATION 문의 예입니다.

    create or replace api integration demonstration_external_api_integration_01
        api_provider=aws_api_gateway
        api_aws_role_arn='arn:aws:iam::123456789012:role/my_cloud_account_role'
        api_allowed_prefixes=('https://xyz.execute-api.us-west-2.amazonaws.com/production/')
        enabled=true;
    
    Copy
  4. 이름이 API Integration Name 인 추적 워크시트 필드에 생성한 API 통합의 이름을 기록합니다. 이후에 CREATE EXTERNAL FUNCTION 명령을 실행할 때 API 통합 이름이 필요합니다.

  5. 위에서 입력한 CREATE API INTEGRATION 명령을 실행합니다.

API_AWS_IAM_USER_ARN 및 API_AWS_EXTERNAL_ID 기록하기

  1. DESCRIBE INTEGRATION 명령을 실행합니다.

    DESCRIBE INTEGRATION <my_integration_name>;
    
    Copy

    예:

    DESCRIBE INTEGRATION my_api_integration_01;
    
    Copy
  2. API_AWS_IAM_USER_ARN 으로 명명된 속성을 찾은 다음, 추적 워크시트에 그 속성의 property_value 를 기록합니다.

  3. API_AWS_EXTERNAL_ID 로 명명된 속성을 찾아 추적 워크시트에 그 속성의 property_value 를 기록합니다.

    API_AWS_EXTERNAL_IDproperty_value 는 종종 등호(“=”)로 끝납니다. 등호는 값의 일부로, property_value 의 나머지 부분과 함께 잘라내어 붙여넣어야 합니다.

다음 몇 단계에서 AWS 관리 윈도우로 돌아갑니다. 지금 Snowflake 관리 윈도우를 닫지 마십시오. 나중에 이 윈도우로 돌아와야 합니다.

다음 단계

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