Partilhar via


Como criar um depósito com agrupamento que não diferencia maiúsculas de minúsculas (CI)

Aplica-se a:✅ Armazém no Microsoft Fabric

Por padrão, todos os armazéns de malha são configurados com agrupamento que diferencia maiúsculas de minúsculas (CS) Latin1_General_100_BIN2_UTF8. Você também pode criar armazéns com agrupamento sem diferenciação de maiúsculas e minúsculas (CI) - Latin1_General_100_CI_AS_KS_WS_SC_UTF8.

Atualmente, o único método disponível para criar um data warehouse que não diferencia maiúsculas de minúsculas é por meio da API REST. Este artigo fornece um guia passo a passo sobre como criar um depósito com agrupamento que não diferencia maiúsculas de minúsculas por meio da API REST. Ele também explica como usar o Visual Studio Code com a extensão de cliente REST para facilitar o processo.

Importante

Depois que um depósito é criado, a configuração de agrupamento não pode ser alterada. Considere cuidadosamente as suas necessidades antes de iniciar o processo de criação.

Pré-requisitos

Ponto final de API

Para criar um armazém com a API REST, use o ponto de extremidade da API: POST https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/items

Aqui está um exemplo de corpo de solicitação JSON para criar um depósito:

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

Usar o Visual Studio Code para invocar a API REST

Você pode criar facilmente um novo depósito com agrupamento que não diferencia maiúsculas de minúsculas usando o Visual Studio Code (VS Code) e a extensão REST Client . Siga estes passos:

  1. Crie um novo arquivo de texto no VS Code com a .http extensão.

  2. Insira os detalhes da solicitação no corpo do arquivo. Observe que deve haver um espaço em branco entre o cabeçalho e o corpo, colocado após a linha "Autorização".

      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. Substitua os valores de espaço reservado:

    • <workspaceID>: Encontre o GUID do espaço de trabalho no URL após a /groups/ seção ou executando SELECT @@SERVERNAME em um depósito existente.

    • <bearer token>: Obtenha isso seguindo estas etapas:

      1. Abra o espaço de trabalho do Microsoft Fabric em um navegador (Microsoft Edge ou Google Chrome).
      2. Pressione F12 para abrir as Ferramentas de Desenvolvimento.
      3. Selecione a guia Console . Se necessário, selecione Expandir Visualização Rápida para revelar o prompt >do console .
      4. Digite o comando copy(powerBIAccessToken) e pressione Enter. Enquanto o console responde indefinido, o token do portador será copiado para a área de transferência.
      5. Cole no lugar de <bearer token>.

      Observação

      Em alguns cenários, copy(powerBIAccessToken) pode falhar com o erro uncaught TypeError: copy is not a function se houver algum id de elemento chamado "copy" na página. Nesses casos, remova manualmente o id do elemento usando o seguinte comando antes de usar a função "copiar": document.querySelector('#copy').remove().

    • <Warehouse name here>: Insira o nome do armazém desejado.

    • <Warehouse description here>: Insira a descrição do armazém desejado.

  4. Selecione o link Enviar solicitação exibido sobre o comando POST no editor do VS Code.

  5. Você deve receber uma resposta com o código de status 202 Aceito, juntamente com detalhes adicionais sobre sua solicitação POST.

  6. Vá para o armazém recém-criado no portal do Fabric.

  7. Execute a seguinte instrução T-SQL no editor de consultas para confirmar se o agrupamento do seu armazém está alinhado com o que você especificou no JSON acima:

    SELECT name, collation_name FROM sys.databases;