Compartilhar via


Exemplo de operações condicionais da API Web (PowerShell)

Este exemplo do PowerShell versão 7.4.0 demonstra como executar operações que são condicionalmente baseadas na versão da linha da tabela contida no servidor do Microsoft Dataverse e/ou atualmente mantidas pelo cliente. Este exemplo implementa as operações do Dataverse e a saída do console detalhadas no Exemplo de Operações Condicionais da API Web.

Este exemplo usa as funções auxiliares do PowerShell da API Web do Dataverse para gerenciar a autenticação e fornecer funções reutilizáveis para executar operações comuns. Esses scripts são referenciados usando o dot sourcing com as seguintes linhas:

. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1

Observação

Este exemplo deve funcionar com Windows, Linux e macOS, mas só foi testado no Windows.

Pré-requisitos

Antes de executar este exemplo, você deve ler estes artigos que explicam os conceitos e padrões usados por estes exemplos:

Esses artigos têm os mesmos pré-requisitos.

Instalar ou verificar se os seguintes estão instalados

Verifique a instalação

  1. Abra o Visual Studio Code.

  2. No menu Terminal, selecione Novo Terminal.

  3. No painel de navegação do Visual Studio Code, selecione o ícone para a extensão do PowerShell.

  4. Copie e cole o seguinte script na janela do terminal do Visual Studio Code:

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Pressione Enter. O resultado deve ser assim:

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

Se você não vir resultados como este, instale ou atualize os pré-requisitos.

Você também precisará

  • Uma conta de usuário válida para um ambiente do Dataverse
  • A URL para o ambiente do Dataverse ao qual você deseja se conectar. Veja Exibir recursos do desenvolvedor para saber como encontrá-lo. Parece algo assim: https://yourorg.crm.dynamics.com/, onde yourorg.crm é diferente.
  • Compreensão básica da linguagem de script do PowerShell

Como executar este exemplo

  1. Clone ou baixe o repositório PowerApps-Samples .

  2. Abra o arquivo ConditionalOperations.ps1 usando o Visual Studio Code

  3. Edite esta linha para usar a URL do ambiente ao qual você deseja se conectar:

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (Opcional) Defina a $deleteCreatedRecords variável para $false se você não quiser excluir os registros que este exemplo cria.

  5. Pressione F5 para executar o exemplo.

  6. Na primeira vez que você executar o exemplo, uma janela do navegador será aberta. Na janela do navegador, insira ou selecione as credenciais que você deseja usar para autenticar.

Para se conectar como um usuário diferente, execute o comandoDisconnect-AzAccount e tente novamente.

Code

O código deste exemplo está em: PowerApps-Samples/dataverse/webapi/PS/ConditionalOperations/ConditionalOperations.ps1

Demonstra

Este exemplo tem quatro regiões:

Seção 0: Criar registros de exemplo

Operações: Crie um registro de conta e recupere-o para obter o valor inicial da ETag.

Seção 1: GET condicional

Operações:

  • Tente recuperar a conta usando o cabeçalho If-None-Match com o valor inicial do ETag, demonstrando que uma resposta 304 NotModified é retornada quando o registro não foi alterado.
  • Atualize o número de telefone da conta.
  • Tente recuperar a conta novamente usando o cabeçalho If-None-Match com o valor ETag inicial, demonstrando que o registro completo é retornado porque ele foi modificado.

Seção 2: Simultaneidade otimista ao excluir e atualizar

Operações:

  • Tente usar o cabeçalho If-Match para excluir a conta com o valor inicial da ETag, demonstrando que um erro 412 PreconditionFailed é retornado quando a ETag não corresponde.
  • Tente atualizar a conta com o cabeçalho If-Match usando o valor inicial da ETag, demonstrando que um erro 412 PreconditionFailed é exibido quando a ETag não corresponde.
  • Atualize a conta usando o cabeçalho If-Match com o valor ETag atual, demonstrando que a atualização é bem-sucedida quando a ETag corresponde ao valor esperado.
  • Recupere a conta para confirmar a atualização.

Seção 3: Excluir registros de exemplo

Operações: uma referência a cada registro criado neste exemplo foi adicionada a uma lista à medida que foi criada. Esta seção percorre essa lista e exclui cada registro.

Limpeza

Por padrão, este exemplo exclui todos os registros criados nele. Se você quiser exibir os registros criados após a conclusão do exemplo, altere a deleteCreatedRecords variável false para e você será solicitado a decidir se deseja excluir os registros.

Consulte também

Utilizar a API Web do Dataverse
Executar operações condicionais usando a API Web
API Web de início rápido com PowerShell e Visual Studio Code
Usar o PowerShell e o Visual Studio Code com a API Web do Dataverse
Exemplos de API Web
Exemplo de operações condicionais da API Web
Exemplo de operações condicionais da API Web (C#)
Exemplo de operações condicionais da API Web (JavaScript do lado do cliente)