ステップ3: SnowflakeでAzure用のAPI統合を作成する

このトピックでは、プロキシサービス(つまり、Azure API管理サービス)と連携するためにSnowflakeでAPI統合オブジェクトを作成する手順について説明します。Azure PortalまたはARMテンプレートのどちらを使用しているかに関係なく、手順は同じです。

このトピックの内容:

必要な情報

SnowflakeでAzureのAPI統合を作成するには、次の情報が必要です。

  • Azure FunctionアプリADアプリケーションID(追跡ワークシートから)

  • Azure AD Tenant ID(外部機能を計画するための 前提条件 セクションで説明されています)

API統合オブジェクトの作成

CREATE API INTEGRATION コマンドを使用して、API統合オブジェクトを作成します。

  1. Snowflakeのウェブインターフェイスにログインします(まだログインしていない場合)。

  2. インターフェイスの Worksheets Worksheet tab ページに移動します。

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

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

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

    1. Replace <integration_name> with a unique integration name (e.g. my_api_integration_name). The name must follow the rules for オブジェクト識別子.

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

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

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

    3. <azure_application_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
      

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

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

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

      Azure Portal
      「API Managementサービス名」と「API Management API URLサフィックス」フィールドの値を使用します。

      追跡ワークシートにあります。たとえば、URLは次のようになります。

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

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

      ARMテンプレート

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

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