3단계: Snowflake에서 Azure를 위한 API 통합 만들기¶
이 항목에서는 Snowflake에서 프록시 서비스(즉, Azure API Management 서비스)와 함께 작동하는 API 통합 오브젝트를 만들기 위한 지침을 제공합니다. Azure Portal을 사용하든 ARM 템플릿을 사용하든 관계없이 지침은 동일합니다.
이 항목의 내용:
이전 단계¶
필수 정보¶
Snowflake에서 Azure를 위한 API 통합을 만들려면 다음 정보가 필요합니다.
(추적 워크시트의)
Azure Function App AD Application ID
.Azure AD tenant ID(외부 함수 계획을 위한 전제 조건 섹션에 설명되어 있음)
API 통합 오브젝트 만들기¶
CREATE API INTEGRATION 명령을 사용하여 API 통합 오브젝트를 만듭니다.
Open a Snowflake session, typically a Snowflake web interface session.
USE ROLE 명령을 실행하여 ACCOUNTADMIN 역할 또는 CREATE INTEGRATION 권한을 가진 역할을 사용합니다. 예:
use role has_accountadmin_privileges;
CREATE API INTEGRATION 문을 입력합니다. 이 문은 다음과 비슷한 형태여야 합니다.
create or replace api integration <integration_name> api_provider = azure_api_management azure_tenant_id = '<tenant_id>' azure_ad_application_id = '<azure_application_id>' api_allowed_prefixes = ('<url>') enabled = true;
이 문에서 다음을 수행합니다.
<통합_이름>
을 고유한 통합 이름(예:my_api_integration_name
)으로 바꿉니다. 이름은 오브젝트 식별자 에 대한 규칙을 따라야 합니다.또한, 추적 워크시트의
API Integration Name
필드에 통합 이름을 기록합니다. 만들기 프로세스에서 이후에 CREATE EXTERNAL FUNCTION 명령을 실행할 때 이름이 필요합니다.<tenant_id>
를 Azure AD Tenant ID로 바꿉니다.다른 방법으로는, 도메인(예:
my_company.onmicrosoft.com
)을 사용할 수 있습니다.<azure_애플리케이션_id>
를 추적 워크시트의Azure Function App AD Application ID
필드 값으로 바꿉니다.api_allowed_prefixes
의 경우,<url>
을 알맞은 URL로 바꿉니다.보통, 이것은 다음과 같은 형식으로 된 프록시 서비스(즉, Azure API Management 서비스)의 URL입니다.
https://<api_management_service_name>.azure-api.net
하지만 적절한 접미사를 추가하여 이 API 통합을 적용 할 수 있는 URLs을 제한할 수 있는데, 이 경우 URL의 형식은 다음과 같습니다.
https://<api_management_service_name>.azure-api.net/<api_url_suffix>
여기서 입력하는 URL은 외부 함수를 만드는 데 Azure Portal을 사용하는지, ARM 템플릿을 사용하는지에 따라 다릅니다.
- Azure Portal:
추적 워크시트에 있는
API Management service name
및API Management API URL suffix
필드의 값을 사용합니다. 예를 들어, URL은 다음과 비슷한 형태여야 합니다.https://my-api-management-svc.azure-api.net/my-api-url-suffix
이것은 가져온 API에 대한 API Management 서비스 Settings 탭의 기본 URL 및 접미사와 일치해야 합니다. 그게 편리하다면 대신에 탭에서 값을 복사해도 됩니다.
- ARM 템플릿:
추적 워크시트에 있는
API Management URL
필드의 값을 사용합니다.
입력한 CREATE API INTEGRATION 문을 아직 실행하지 않았다면 실행하십시오.