ステップ3: SnowflakeでAzure用のAPI統合を作成する¶
このトピックでは、プロキシサービス(つまり、Azure API管理サービス)と連携するためにSnowflakeで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コマンドを実行するときに、名前が必要になります。<テナント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ステートメントを実行します。