Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
- 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
Esses artigos têm os mesmos pré-requisitos.
Instalar ou verificar se os seguintes estão instalados
Instale o Visual Studio Code. Consulte Baixar o Visual Studio Code
Instale a extensão do PowerShell para Visual Studio Code. Consulte o PowerShell para Visual Studio Code
Instale o PowerShell 7.4 ou superior. Consulte Instalar o PowerShell no Windows, Linux e macOS
Instale o módulo do Az PowerShell versão 11.1.0 ou superior. Veja como instalar o Azure PowerShell
Para atualizar uma instalação existente para a versão mais recente, use
Update-Module -Name Az -Force
Verifique a instalação
Abra o Visual Studio Code.
No menu Terminal, selecione Novo Terminal.
No painel de navegação do Visual Studio Code, selecione o
ícone para a extensão do PowerShell.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).VersionPressione 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/, ondeyourorg.crmé diferente. - Compreensão básica da linguagem de script do PowerShell
Como executar este exemplo
Clone ou baixe o repositório PowerApps-Samples .
Abra o arquivo
ConditionalOperations.ps1usando o Visual Studio CodeEdite esta linha para usar a URL do ambiente ao qual você deseja se conectar:
Connect 'https://yourorg.crm.dynamics.com/' # change this(Opcional) Defina a
$deleteCreatedRecordsvariável para$falsese você não quiser excluir os registros que este exemplo cria.Pressione F5 para executar o exemplo.
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-Matchcom o valor inicial do ETag, demonstrando que uma resposta304 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-Matchcom 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-Matchpara excluir a conta com o valor inicial da ETag, demonstrando que um erro412 PreconditionFailedé retornado quando a ETag não corresponde. - Tente atualizar a conta com o cabeçalho
If-Matchusando o valor inicial da ETag, demonstrando que um erro412 PreconditionFailedé exibido quando a ETag não corresponde. - Atualize a conta usando o cabeçalho
If-Matchcom 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)