Manifesto da carga de trabalho
Visão geral
Os arquivos WorkloadManifest.xml
e Item.xml
são necessários para a definição da carga de trabalho no Fabric. Eles realizam a retenção das definições de configurações básicas de Carga de Trabalho e de Itens da Carga de Trabalho para configuração e servem como um guia para a configuração e para o gerenciamento da carga de trabalho, ajudando a definir, compartilhar e efetuar o registro de detalhes essenciais da carga de trabalho para uma integração sem complicações no Fabric.
Em nosso repositório de exemplo, um arquivo .nupkg
é gerado dos arquivos XML localizados na pasta src/Packages/manifest
durante o processo de build. Esse arquivo empacotado contém todas as informações necessárias sobre sua carga de trabalho. No arquivo workload-dev-mode.json
, há um campo chamado ManifestPackageFilePath
que deve apontar para esse arquivo .nupkg
recém-criado.
Processo de upload e registro
- Autenticação do usuário: durante o desenvolvimento, depois de executar o exemplo, sua autenticação inicia o processo de upload e registro. Isso garante a associação correta da carga de trabalho com sua identidade.
- Análise de manifesto: o manifesto carregado passa por análise para validar sua estrutura e conteúdo. Essa etapa garante que o manifesto esteja formatado corretamente e pronto para processamento posterior.
- Registro de carga de trabalho: se a análise for bem-sucedida, a carga de trabalho será registrada no Fabric. Detalhes essenciais de configuração, como o ID de carga de trabalho, são armazenados no banco de dados do Fabric, permitindo o gerenciamento eficaz da carga de trabalho.
Manifesto da carga de trabalho: principais componentes do manifesto
O manifesto, cuja estrutura é definida por WorkloadDefinition.xsd, descreve os principais atributos de uma carga de trabalho, como nome, aplicação e pontos de extremidade.
Atributo SchemaVersion
Representa a versão publicada de WorkloadDefinition.xsd do Fabric.
Atributo WorkloadName
O identificador exclusivo da carga de trabalho. Observe que é necessário ter um prefixo 'Org.' para workloadName, de modo que o nome consista em duas palavras com o separador '.', por exemplo, 'Org.MyWorkload'. Outros prefixos são inválidos e causarão uma falha de upload. Isso será imposto nos seguintes cenários: conexão de dev, upload de teste.
Elemento Version
A versão do seu manifesto deve estar em conformidade com as regras do SemVer.
Elemento CloudServiceConfiguration
Configuração de serviço da sua carga de trabalho, atualmente apenas uma configuração é compatível.
Configuração do aplicativo Microsoft Entra ID [Azure Active Directory (AAD)]
A seção <AADApp>
configura o aplicativo Microsoft Entra ID [Azure Active Directory (AAD)] para processos de autenticação e autorização. O AppId
representa o identificador exclusivo do aplicativo, o RedirectUri
especifica o URI para o qual o Microsoft Entra ID enviará a resposta de autenticação e aponta ResourceId
para o identificador exclusivo do recurso que o aplicativo está acessando. Para obter mais contexto sobre o que ResourceId
, AppId
e RedirectUri
representam, você pode consultar a documentação de autenticação.
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Consulte a documentação de autenticação para obter um reconhecimento aprofundado sobre AppId
, ResourceId
e RedirectUri
, e a sua significância no contexto dos processos de autenticação.
Elementos ServiceEndpoint
Represente a configuração de um ponto de extremidade lógico específico, por exemplo, o ponto de extremidade de back-end que inclui a implementação para CRUD de item e APIs de trabalhos.
- A configuração do ponto de extremidade de back-end da carga de trabalho indica a URL de back-end da sua carga de trabalho.
<ServiceEndpoint>
<Name>Workload</Name>
<Url>YourWorkloadBackendUrl</Url>
<IsEndpointResolutionService>...
<EndpointResolutionContext>...
</ServiceEndpoint>
<IsEndpointResolutionService>
eEndpointResolutionContext
são definidos com base no fato de o ponto de extremidade implementar a API de carga de trabalho ou apenas a resolução do ponto de extremidade. Consulte Resolução de ponto de extremidade para obter informações detalhadas sobre o contexto e a resposta da resolução.
Observação
Não há suporte para resolução de ponto de extremidade para o front-end.
Manifesto do item: principais componentes do manifesto
O manifesto, cuja estrutura é definida por ItemDefinition.xsd, descreve os principais atributos do item de uma carga de trabalho, como nome e definições de trabalho.
Atributo SchemaVersion
Representa a versão publicada de ItemDefinition.xsd do Fabric.
Atributo TypeName
O identificador exclusivo do seu item.
Configuração do Job Scheduler
A seção <JobScheduler>
abrange vários elementos que definem o comportamento e as configurações de rastreamento, gerenciamento e plano de trabalho.
<OnDemandJobDeduplicateOptions>
e<ScheduledJobDeduplicateOptions>
: definem as opções de eliminação de duplicação para trabalhos de itens sob demanda e agendados, respectivamente. As opções incluemNone
(sem eliminação de duplicação),PerItem
(uma execução de trabalho para o mesmo item e tipo de trabalho) ePerUser
(uma execução de trabalho para o mesmo usuário e item).<ItemJobTypes>
: contém configurações para diferentes tipos de trabalho de item.<ItemJobType>
: descreve um tipo de trabalho específico.<Name>
: o nome do tipo de trabalho. Deve usar o nome do Item como prefixo.
Por exemplo, vamos considerar nossa carga de trabalho de exemplo, que inclui três trabalhos específicos definidos na seção <ItemJobTypes>
:
<JobScheduler>
<OnDemandJobDeduplicateOptions>PerItem</OnDemandJobDeduplicateOptions>
<ScheduledJobDeduplicateOptions>PerItem</ScheduledJobDeduplicateOptions>
<ItemJobTypes>
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.ScheduledJob" />
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.CalculateAsText" />
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.CalculateAsParquet" />
</ItemJobTypes>
</JobScheduler>
- Trabalho CalculateAsText: este tipo de trabalho lida com cálculos baseados em texto, obtendo
Operand1
eOperand2
, executando a operação selecionada e salvando o resultado no lakehouse. - Trabalho CalculateAsParquet: especificamente adaptado para trabalhar com dados do Parquet, esse tipo de trabalho também usa
Operand1
eOperand2
, executa a operação selecionada e armazena o resultado no lakehouse, seguindo o formato de dados do Parquet. Consulte o guia do hub de monitoramento para obter mais informações sobre trabalhos e configuração relacionada.
Em resumo, os manifestos de carga de trabalho e item servem como documentos fundamentais para adicionar cargas de trabalho personalizadas ao Fabric. O processo de autenticação aciona uma sequência direta de ações: upload, análise e registro, garantindo a configuração adequada e o gerenciamento eficiente da carga de trabalho no ecossistema do Azure.