ステップ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統合オブジェクトを作成します。

  1. Open a Snowflake session, typically a Snowflake web interface session.

  2. USE ROLEコマンドを実行して、ACCOUNTADMINロールまたはCREATE INTEGRATION権限を持つロールを使用します。例:

    use role has_accountadmin_privileges;
    
    Copy
  3. 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;
    
    Copy

    ステートメントで以下を確認します。

    1. <統合名> を一意の統合名に置き換えます(例: my_api_integration_name)。名前は、 オブジェクト識別子 のルールに従う必要があります。

      さらに、統合名を追跡ワークシートの API Integration Name フィールドに記録します。作成プロセスの後半でCREATE EXTERNAL FUNCTIONコマンドを実行するときに、名前が必要になります。

    2. <テナントID> をAzure AD Tenant IDに置き換えます。

      別の方法として、ドメイン(例: my_company.onmicrosoft.com)を使用できます。

    3. <AzureアプリケーションID> を、追跡ワークシートの Azure Function App AD Application ID フィールドにある値に置き換えます。

    4. api_allowed_prefixes の場合、 <url> を適切なURLに置き換えます。

      通常、これはプロキシサービス(つまりAzure API Managementサービス)のURLであり、次の形式です。

      https://<api_management_service_name>.azure-api.net
      
      Copy

      ただし、適切なサフィックスを追加することで、このAPI統合を適用できるURLsを制限できます。この場合、URLの形式は次のとおりです。

      https://<api_management_service_name>.azure-api.net/<api_url_suffix>
      
      Copy

      入力する URL は、Azure Portal、または ARM テンプレートのどちらを使用して外部関数を作成しているかによって異なります。

      Azure Portal

      追跡ワークシートの API Management service nameAPI Management API URL suffix のフィールドにある値を使用します。たとえば、 URL は次のようになります。

      https://my-api-management-svc.azure-api.net/my-api-url-suffix
      
      Copy

      これは、インポートしたAPIのAPI Managementサービスの Settings タブのベース URL とサフィックスに一致する必要があります。都合がよければ、代わりにタブから値をコピーできます。

      ARMテンプレート

      追跡ワークシートの API Management URL フィールドにある値を使用します。

  4. まだ実行していない場合は、入力したCREATE API INTEGRATIONステートメントを実行します。