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 artigo mostra como descobrir e adicionar ações e funções do Dataverse a um aplicativo de código Power Apps usando a CLI Power Apps.
Pré-requisitos
- Um aplicativo de código Power Apps inicializado com
pa app init -
@microsoft/power-appsversão 1.1.1 ou posterior em seupackage.json - Acesso ao ambiente do Dataverse que contém a operação que você deseja usar
A CLI solicitará que você entre se ainda não estiver autenticado.
Etapa 1: Localizar operações disponíveis
Use pa app find-dataverse-api para pesquisar operações por nome no ambiente configurado para seu aplicativo de código:
pa app find-dataverse-api --search "WhoAmI"
A saída lista as operações correspondentes e inclui o tipo de operação, parâmetros, tabela de associação e tipo de retorno.
====================================================================================================
Dataverse Operations
====================================================================================================
WhoAmI (Function)
Returns: mscrm.WhoAmIResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Essa função e o tipo de retorno estão documentados aqui:
Você também pode pesquisar ações. Por exemplo:
pa app find-dataverse-api --search "AddToQueue"
====================================================================================================
Dataverse Operations
====================================================================================================
AddToQueue (Action)
Bound to: mscrm.queue
Parameters:
- Target: mscrm.crmbaseentity
- SourceQueue?: mscrm.queue
- QueueItemProperties?: mscrm.queueitem
Returns: mscrm.AddToQueueResponse
----------------------------------------------------------------------------------------------------
Total: 1 operation(s)
====================================================================================================
Esta ação, os tipos de parâmetro e os tipos retornados estão documentados aqui:
- Ação AddToQueue
- Tipo de entidade crmbaseentity
- tipo de entidade de fila
- Tipo de entidade queueitem
- Tipo complexo AddToQueueResponse
A pesquisa usa uma correspondência de subcadeia de caracteres que não diferencia maiúsculas de minúsculas no nome da operação. Para retornar JSON para cenários de script ou de agente de codificação, inclua --json:
pa app find-dataverse-api --search "WhoAmI" --json
Etapa 2: Adicionar a operação
Depois de encontrar o nome da operação, adicione-o ao aplicativo:
pa app add dataverse-api --api-name WhoAmI
O comando:
- Obtém a definição de operação do ponto de extremidade do Dataverse
$metadata. - Grava o esquema de operação em
<schemaPath>/dataverse/<ApiName>.Schema.json. - Salva esquemas para tabelas do Dataverse referenciadas pela operação.
- Atualiza
power.config.json. - Regenera.
dataSourcesInfo.ts - Gera modelos TypeScript e uma classe de serviço em
<codeGenPath>/generated/.
Quando você adiciona a operação, a CLI retorna uma confirmação:
Dataverse API 'WhoAmI' added successfully.
Etapa 3: Usar o serviço gerado
O comando gera uma <ApiName>Service classe para a operação. Depois de adicionar WhoAmI, importe seu serviço:
import { WhoAmIService } from './generated/services/WhoAmIService';
Chame o método gerado:
const result = await WhoAmIService.WhoAmI();
// result.value contains BusinessUnitId, UserId, and OrganizationId.
Para uma ação associada , como AddToQueue, o primeiro argumento é a ID do registro em que a ação opera:
import { AddToQueueService } from './generated/services/AddToQueueService';
const result = await AddToQueueService.AddToQueue(
queueId,
target,
sourceQueue,
queueItemProperties
);
Os tipos de parâmetro e retorno são baseados no esquema do Dataverse:
- Os parâmetros GUID usam o
stringtipo. - Parâmetros de pesquisa que fazem referência a uma tabela do Dataverse usam
Record<string, unknown>. - Operações sem um uso de
Promise<IOperationResult<void>>valor retornado. - Operações que retornam um uso
Promise<IOperationResult<T>>de valor escalar. - Operações que retornam um tipo complexo ou uma tabela usam
Promise<IOperationResult<Record<string, unknown>>>.
Atualizar uma operação
Execute pa app add dataverse-api novamente com o mesmo nome de operação para obter a definição mais recente:
pa app add dataverse-api --api-name WhoAmI
O comando substitui o esquema de operação, regenera dataSourcesInfo.ts, remove entradas de configuração duplicadas e preserva os arquivos de esquema de tabela referenciados existentes.
Arquivos criados ou atualizados
| Arquivo | Troco |
|---|---|
<schemaPath>/dataverse/<ApiName>.Schema.json |
Cria ou substitui o esquema de operação. |
<schemaPath>/dataverse/<TableName>.Schema.json |
Cria esquemas para tabelas referenciadas se elas ainda não existirem. |
<schemaPath>/appschemas/dataSourcesInfo.ts |
Regenera as informações da fonte de dados. |
power.config.json |
Adiciona a referência do Dataverse e, para uma operação associada, a tabela de associação. |
<codeGenPath>/generated/models/<TableName>Model.ts |
Gera modelos para tabelas referenciadas. |
<codeGenPath>/generated/services/<ApiName>Service.ts |
Gera a classe de serviço para a operação. |
Solucionando problemas
Nenhuma operação encontrada
A pesquisa corresponde apenas ao nome da operação. Tente um termo de pesquisa mais curto ou diferente. Inclua --json para inspecionar a resposta.
Os arquivos gerados estão desatualizados
Execute pa app add dataverse-api novamente com o mesmo nome de operação. Se você renomeou ou removeu a operação e arquivos gerados obsoletos permanecerem, exclua esses arquivos antes de regenerar a operação.