Compartilhar via


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

  1. 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.
  2. 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.
  3. 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 RedirectUriespecifica 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> e EndpointResolutionContext 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 incluem None (sem eliminação de duplicação), PerItem (uma execução de trabalho para o mesmo item e tipo de trabalho) e PerUser (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 e Operand2, 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 e Operand2, 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.