第 3 步:在 Snowflake 中为 Azure 创建 API 集成

本主题说明如何在 Snowflake 中创建 API 集成对象,以便与代理服务(即 Azure API Management 服务)一起使用。无论您使用的是 Azure 门户还是 ARM 模板,说明都是相同的。

本主题内容:

上一步

Azure 门户:

第 2 步:在门户中创建代理服务(Azure API 管理服务)

ARM 模板:

第 2 步:使用模板创建远程服务(Azure 函数)和代理服务(API 管理服务)

需要的信息

需要以下信息才能在 Snowflake 中为 Azure 创建 API 集成:

  • :code:`Azure Function App AD Application ID`(来自跟踪工作表)

  • Azure AD 租户 ID (如规划外部函数的 先决条件 部分中所述)

创建 API 集成对象

使用 CREATE API INTEGRATION 命令创建 API 集成对象:

  1. 打开 Snowflake 会话,通常是 Snowflake Web 界面会话。

  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. <integration_name> 替换为 `` with a unique integration name (e.g. ``my_api_integration_name。名称必须遵循 对象标识符 的规则。

      此外,在跟踪工作表的 API Integration Name 字段中记录集成名称。稍后在创建过程中执行 CREATE EXTERNAL FUNCTION 命令时,将需要该名称。

    2. <tenant_id> 替换为 Azure AD 租户 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
      
      Copy

      但是,可以通过追加适当的后缀来限制此 API 集成可应用到的 URLs。在本例中,URL 的格式如下:

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

      输入的 URL 取决于您是使用 Azure 门户还是使用 ARM 模板来创建外部函数:

      Azure 门户:

      使用跟踪工作表中 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 语句。

下一步

第 4 步:将 Azure 的 API 集成链接到门户中的代理服务

语言: 中文