操作说明:创建具有不区分大小写 (CI) 排序规则的仓库

适用于:✅Microsoft Fabric 中的仓库

默认情况下,所有 Fabric 仓库都配置了区分大小写 (CS) 排序规则 Latin1_General_100_BIN2_UTF8。 也可以创建具有不区分大小写 (CI) 排序规则的仓库 - Latin1_General_100_CI_AS_KS_WS_SC_UTF8

目前,只能通过 REST API 来创建不区分大小写的数据仓库。 本文提供了有关如何通过 REST API 创建具有不区分大小写排序规则的仓库的分步指南。 文中还说明了如何使用带有 REST 客户端扩展的 Visual Studio Code 来简化该过程。

重要

创建仓库后,便无法更改排序规则设置。 在启动创建过程之前,请仔细考虑你的需求。

先决条件

API 终结点

若要使用 REST API 创建仓库,请使用 API 终结点:POST https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/items

下面是用于创建仓库的示例 JSON 请求正文:

{ 
  "type": "Warehouse", 
  "displayName": "CaseInsensitiveAPIDemo", 
  "description": "New warehouse with case-insensitive collation", 
  "creationPayload": { 
    "defaultCollation": "Latin1_General_100_CI_AS_KS_WS_SC_UTF8" 
  } 
}

使用 Visual Studio Code 调用 REST API

可以使用 Visual Studio Code (VS Code)REST 客户端扩展轻松创建一个具有不区分大小写的排序规则的新仓库。 执行以下步骤:

  1. 在 VS Code 中创建一个带有 .http 扩展名的新文本文件。

  2. 在文件正文中输入请求详细信息。 请注意,标题和正文之间应该有一个空格,位于“授权”行之后。

      POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceID>/items HTTP/1.1
      Content-Type: application/json
      Authorization: Bearer <bearer token>
    
    { 
       "type": "Warehouse", 
       "displayName": "<Warehouse name here>", 
       "description": "<Warehouse description here>", 
       "creationPayload": { 
         "defaultCollation": "Latin1_General_100_CI_AS_KS_WS_SC_UTF8" 
       } 
     }
    
  3. 替换占位符值替:

    • <workspaceID>:在 /groups/ 节后的 URL 中查找工作区 GUID,或者通过在现有仓库中运行 SELECT @@SERVERNAME 来查找。
    • <bearer token>:按照以下步骤获取此项:
      1. 在浏览器(Microsoft Edge 或 Google Chrome)中打开 Microsoft Fabric 工作区。
      2. 按 F12 打开开发人员工具。
      3. 选择“控制台”选项卡。如有必要,选择“展开快速视图”以显示控制台提示符 >
      4. 输入命令 copy(powerBIAccessToken),然后按 Enter。 如果控制台响应未定义,系统会将持有者令牌复制到剪贴板。
      5. 将其粘贴到 <bearer token> 的位置。
    • <Warehouse name here>:输入所需的仓库名称。
    • <Warehouse description here>:输入所需的仓库描述。
  4. 在 VS Code 编辑器中选择 POST 命令上方显示的“发送请求”链接。

  5. 你应该会收到状态代码为 202 已接受的响应,以及有关 POST 请求的其他详细信息。

  6. 在 Fabric 门户中转到新创建的仓库。

  7. 在查询编辑器中执行以下 T-SQL 语句,以确认仓库的排序规则与你在上面的 JSON 中指定的排序规则一致:

    SELECT name, collation_name FROM sys.databases;