第 3 步:在 Snowflake 中为 Azure 创建 API 集成¶
本主题说明如何在 Snowflake 中创建 API 集成对象,以便与代理服务(即 Azure API Management 服务)一起使用。无论您使用的是 Azure 门户还是 ARM 模板,说明都是相同的。
本主题内容:
上一步¶
- Azure 门户:
- ARM 模板:
需要的信息¶
需要以下信息才能在 Snowflake 中为 Azure 创建 API 集成:
创建 API 集成对象¶
使用 CREATE API INTEGRATION 命令创建 API 集成对象:
打开 Snowflake 会话,通常是 Snowflake Web 界面会话。
执行 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;
在该语句中:
将
<integration_name> 替换为 `` with a unique integration name (e.g. ``my_api_integration_name
。名称必须遵循 对象标识符 的规则。此外,在跟踪工作表的
API Integration Name
字段中记录集成名称。稍后在创建过程中执行 CREATE EXTERNAL FUNCTION 命令时,将需要该名称。将
<tenant_id>
替换为 Azure AD 租户 ID。另外,也可以使用域(例如
my_company.onmicrosoft.com
)。将
<azure_application_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 门户还是使用 ARM 模板来创建外部函数:
- Azure 门户:
使用跟踪工作表中
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 语句。