3단계: Snowflake에서 AWS를 위한 API 통합 만들기¶
이 항목에서는 Snowflake에서 프록시 서비스(즉, Amazon API Gateway)와 함께 작동하는 API 통합 오브젝트를 만들기 위한 지침을 제공합니다. Management Console을 사용하든, CloudFormation 템플릿을 사용하든 관계없이 지침은 동일합니다.
이 항목의 내용:
이전 단계¶
- AWS Management Console:
2단계: AWS Management Console에서 프록시 서비스(Amazon API Gateway) 만들기
- AWS CloudFormation 템플릿:
전제 조건¶
Snowflake에서 AWS를 위한 API 통합을 만들려면 다음 정보가 필요합니다.
(추적 워크시트의)
New IAM Role ARN
.(추적 워크시트의)
Resource Invocation URL
.
API 통합 오브젝트 만들기¶
Snowflake 세션(일반적으로 Snowflake 웹 인터페이스 세션)을 엽니다.
예를 들어 다음과 같이 ACCOUNTADMIN 권한 또는 CREATE INTEGRATION 권한이 있는 Snowflake 역할을 사용합니다.
use role <has_accountadmin_privileges>;
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;
다음과 같이 명령을 사용자 지정합니다.
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;
이름이
API Integration Name
인 추적 워크시트 필드에 생성한 API 통합의 이름을 기록합니다. 이후에 CREATE EXTERNAL FUNCTION 명령을 실행할 때 API 통합 이름이 필요합니다.위에서 입력한 CREATE API INTEGRATION 명령을 실행합니다.
API_AWS_IAM_USER_ARN 및 API_AWS_EXTERNAL_ID 기록하기¶
DESCRIBE INTEGRATION 명령을 실행합니다.
DESCRIBE INTEGRATION <my_integration_name>;
예:
DESCRIBE INTEGRATION my_api_integration_01;
API_AWS_IAM_USER_ARN 으로 명명된 속성을 찾은 다음, 추적 워크시트에 그 속성의 property_value 를 기록합니다.
API_AWS_EXTERNAL_ID 로 명명된 속성을 찾아 추적 워크시트에 그 속성의 property_value 를 기록합니다.
API_AWS_EXTERNAL_ID 의 property_value 는 종종 등호(“=”)로 끝납니다. 등호는 값의 일부로, property_value 의 나머지 부분과 함께 잘라내어 붙여넣어야 합니다.
다음 몇 단계에서 AWS 관리 윈도우로 돌아갑니다. 지금 Snowflake 관리 윈도우를 닫지 마십시오. 나중에 이 윈도우로 돌아와야 합니다.