Partilhar via


Manifesto da carga de trabalho

Descrição geral

Os WorkloadManifest.xml arquivos e Item.xml são necessários para a definição da carga de trabalho no Fabric. Eles mantêm as definições básicas de configuração de Workload e Workload Items para configuração e atuam como um guia para configuração e gerenciamento de carga de trabalho, ajudando a definir, compartilhar e registrar detalhes essenciais da carga de trabalho para uma integração suave no Fabric.

Em nosso repositório de exemplo, um .nupkg arquivo é gerado a partir dos arquivos XML localizados na pasta durante o src/Packages/manifest processo de compilação. Este arquivo empacotado contém todas as informações necessárias sobre sua carga de trabalho. workload-dev-mode.json No arquivo, há um campo chamado ManifestPackageFilePath que deve apontar para esse arquivo recém-criado.nupkg.

Processo de Upload e Registo

  1. Autenticação do usuário: Durante o desenvolvimento, uma vez executado 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. Esta 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 da carga de trabalho, são armazenados no banco de dados Fabric, permitindo um 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, aplicativo e pontos de extremidade.

Atributo SchemaVersion

Representa a versão publicada do Fabric WorkloadDefinition.xsd.

Atributo WorkloadName

O identificador exclusivo da sua carga de trabalho. Note que é necessário ter uma 'Org'. prefixo para workloadName tal que o nome consiste em duas palavras com separador '.' , por exemplo, 'Org.MyWorkload'. Outros prefixos são inválidos e causarão uma falha de carregamento. Isso será aplicado nos seguintes cenários - conexão de desenvolvimento, upload de teste.

Elemento Version

A versão do seu manifesto deve ser compatível com o SemVer .

Elemento CloudServiceConfiguration

A configuração de serviço da sua carga de trabalho, atualmente apenas uma configuração é suportada.

Configuração do aplicativo Microsoft Entra ID [Azure Ative Directory (AAD)]

A <AADApp> seção configura o aplicativo Microsoft Entra ID [Azure Ative Directory (AAD)] para processos de autenticação e autorização. O AppId representa o identificador exclusivo do seu aplicativo, especifica RedirectUri o URI para o qual o ID do Microsoft Entra 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, AppIde 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 uma compreensão mais profunda de AppId, ResourceIde RedirectUri sua importância no contexto dos processos de autenticação.

Elementos ServiceEndpoint

Representar a configuração de um ponto de extremidade lógico específico, por exemplo, o ponto de extremidade de back-end que inclui implementação para CRUD de item e APIs de trabalho.

  • 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 seu endpoint implementar a API de carga de trabalho ou apenas a resolução do ponto de extremidade. Consulte Resolução de pontos finais para obter informações detalhadas sobre o contexto e a resposta da resolução.

Nota

Não há suporte para resolução de ponto final para Frontend.

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 definições de nome e tarefa.

Atributo SchemaVersion

Representa a versão publicada ItemDefinition.xsd do Fabric.

Atributo TypeName

O identificador exclusivo do seu item.

Configuração do Agendador de Tarefas

A <JobScheduler> seção engloba vários elementos que definem o comportamento e as configurações de agendamento, acompanhamento e gerenciamento de tarefas.

  • <OnDemandJobDeduplicateOptions> e <ScheduledJobDeduplicateOptions>: Definir opções de desduplicação para trabalhos de item sob demanda e agendados, respectivamente. As opções incluem None (sem desduplicaçã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 um prefixo.

Por exemplo, vamos considerar nossa carga de trabalho de exemplo, que inclui três trabalhos específicos definidos na <ItemJobTypes> seção:

<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, tomando Operand1 e Operand2executando a operação selecionada e salvando o resultado na casa do lago.
  • CalculateAsParquet Job : Especificamente adaptado para trabalhar com dados do Parquet, este tipo de trabalho também leva Operand1 e Operand2, executa a operação selecionada, e armazena o resultado na casa do lago, seguindo o formato de dados 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 de Item servem como documentos fundamentais para adicionar cargas de trabalho personalizadas ao Fabric. O processo de autenticação dispara 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 dentro do ecossistema do Azure.