Step 3: Create the API Integration for Azure in Snowflake

This topic provides instructions for creating an API integration object in Snowflake to work with your proxy service (i.e. Azure API Management service). The instructions are the same regardless of whether you are using the Azure Portal or ARM template.

In this Topic:

Required Information

You need the following information to create the API integration for Azure in Snowflake:

  • Azure Function App AD Application ID (from your tracking worksheet)

  • Azure AD Tenant ID (as described in the Prerequisites section for planning an external function)

Create the API Integration Object

Use the CREATE API INTEGRATION command to create the API integration object:

  1. If you haven’t already, log into the Snowflake web interface.

  2. Navigate to the Worksheets Worksheet tab page in the interface.

  3. Execute the USE ROLE command to use the ACCOUNTADMIN role or a role with the CREATE INTEGRATION privilege. For example:

    use role has_accountadmin_privileges;
    
  4. Enter a CREATE API INTEGRATION statement. The statement should look similar to the following:

    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;
    

    In the statement:

    1. Replace <integration_name> with a unique integration name (e.g. my_api_integration_name). The name must follow the rules for Object Identifiers.

      In addition, record the integration name in the “API Integration Name” field in your tracking worksheet. You will need the name when you execute the CREATE EXTERNAL FUNCTION command later in the creation process.

    2. Replace <tenant_id> with your Azure AD Tenant ID.

      As an alternative, you can use your domain (e.g. my_company.onmicrosoft.com).

    3. Replace <azure_application_id> with the value from the “Azure Function App AD Application ID” field in your tracking worksheet.

    4. For api_allowed_prefixes, replace <url> with the appropriate URL.

      Usually, this is the URL of the proxy service (i.e. Azure API Management service), in the following format:

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

      However, you can restrict the URLs to which this API integration can be applied by appending an appropriate suffix, in which case the URL has the following format:

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

      The URL you enter depends on whether you are using the Azure Portal or ARM template to create your external function:

      Azure Portal
      Use the values from the “API Management service name” and “API Management API URL suffix” fields in your

      tracking worksheet. For example, your URL should look similar to:

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

      This should match the base URL and suffix from the API Management service Settings tab for your imported API. If convenient, you can copy the value from the tab instead.

      ARM template

      Use the value from the “API Management URL” field in your tracking worksheet.

  5. If you haven’t already, execute the CREATE API INTEGRATION statement you entered.