Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 mais recente 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 da fila
- Tipo de entidade queueitem
- Tipo complexo AddToQueueResponse
A pesquisa usa correspondência de substring 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 valor de retorno usam
Promise<IOperationResult<void>>. - Operações que retornam um valor escalar usam
Promise<IOperationResult<T>>. - 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 vinculada, a tabela de vínculo. |
<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.