Preparar recursos técnicos do módulo do IoT Edge
Este artigo descreve os requisitos que seus ativos técnicos do módulo de Borda da Internet das Coisas (IoT) devem atender antes de serem publicados no Azure Marketplace.
Começar agora
Um módulo IoT Edge é um contêiner compatível com o Docker que é executado em um dispositivo IoT Edge.
- Para saber mais sobre os módulos do IoT Edge, consulte Compreender os módulos do Azure IoT Edge.
- Para começar a desenvolver seus módulos do IoT Edge, consulte Desenvolver seus próprios módulos do IoT Edge.
Requisitos técnicos
Seu módulo IoT Edge deve atender aos seguintes requisitos técnicos para ser certificado e publicado no Azure Marketplace.
Suporte da plataforma
Seu módulo IoT Edge deve suportar uma das seguintes opções de plataforma:
Plataformas de nível 1 suportadas pelo IoT Edge
Seu módulo deve dar suporte a todas as plataformas de Nível 1 suportadas pelo IoT Edge (conforme registrado no suporte do Azure IoT Edge). Recomendamos esta opção porque proporciona uma melhor experiência ao cliente. Os módulos que atendem a esses critérios serão exibidos. Um módulo que utilize esta opção de plataforma deve:
Forneça uma tag mais recente e uma tag version (por exemplo, 1.0.1) que são tags de manifesto criadas com a ferramenta de manifesto do GitHub.
Use a guia de listagem de ofertas no Partner Center para adicionar um link na seção Links úteis ao catálogo de dispositivos certificados do Azure IoT Edge.
Um subconjunto de plataformas de Nível 1 suportadas pelo IoT Edge
Seu módulo deve dar suporte a um subconjunto (pelo menos um) de plataformas de Nível 1 suportadas pelo IoT Edge (conforme registrado no suporte do Azure IoT Edge). Um módulo que utilize esta opção de plataforma deve:
- Forneça uma tag mais recente e uma tag version (por exemplo, 1.0.1) que são tags de manifesto criadas com a ferramenta de manifesto do GitHub se houver suporte para mais de uma plataforma. As tags de manifesto são opcionais apenas quando uma plataforma é suportada.
- Use a guia de listagem de ofertas no Partner Center para adicionar um link na seção Links úteis a pelo menos um dispositivo IoT Edge do catálogo de dispositivos Certificado do Azure IoT Edge.
Dimensões do dispositivo
As dimensões do módulo IoT Edge (como CPU, RAM, armazenamento e GPU) em dispositivos IoT Edge de destino devem atender aos seguintes requisitos:
O módulo deve funcionar com pelo menos um dispositivo IoT Edge do catálogo de dispositivos do Azure IoT Edge Certified.
Os requisitos mínimos de hardware devem ser documentados como o último parágrafo na descrição da oferta (na guia listagem de ofertas no Partner Center). Opcionalmente, você também pode listar os requisitos de hardware recomendados se eles diferirem significativamente. Por exemplo, adicione a seguinte seção no final da descrição da oferta:
Copie este texto HTML ou use as funções de rich text correspondentes na janela de edição.
<p><u>Minimum hardware requirements:</u> Linux x64 and arm32 OS, 1GB of RAM, 500 Mb of storage</p>
Configuração
Seu módulo deve incluir definições de configuração padrão para tornar a implantação em um dispositivo IoT Edge o mais simples possível. Essas informações podem ser fornecidas na página Configuração técnica do plano no Partner Center. O contêiner também pode incluir o SDK do Módulo de Borda da IoT para habilitar a comunicação com o Hub de Borda e o Hub IoT.
Configuração predefinida
Os módulos do IoT Edge devem ser capazes de começar com as configurações padrão fornecidas na página Configuração técnica do plano no Partner Center. As seguintes configurações padrão estão disponíveis:
- Rotas padrão
- Propriedades desejadas gêmeas do módulo padrão
- Variáveis de ambiente padrão
- Opções de criação de contêiner padrão
Em um cenário em que um parâmetro necessário para um valor padrão não faz sentido (por exemplo, o endereço IP do servidor de um cliente), adicione um parâmetro como o valor padrão. Este valor é maiúsculo e entre parênteses. Neste exemplo, você configuraria a seguinte variável de ambiente padrão:
ServerIPAddress = <MY_SERVER_IP_ADDRESS>
Documentação de configuração
Todas as definições de configuração de um módulo IoT Edge devem ser claramente documentadas. Por exemplo, você deve documentar como usar suas rotas, propriedades desejadas gêmeas, variáveis de ambiente, createOptions e assim por diante. Você deve fornecer um link para sua documentação ou torná-lo parte da descrição da sua oferta ou plano. Você pode fornecer essas informações na página Listagem de ofertas e Planos no Partner Center.
Tags e controle de versão
Os clientes devem ser capazes de implantar facilmente um módulo e obter atualizações automaticamente do mercado (em um cenário de desenvolvedor). Eles também devem ser capazes de usar e congelar uma versão exata que testaram (em um cenário de produção).
Para atender a essas expectativas dos clientes e ser publicados no mercado, os módulos do IoT Edge devem atender aos seguintes requisitos
- Inclua uma tag mais recente de manifesto que aponte para a versão mais recente em todas as plataformas suportadas.
- Crie tags de versão no formato X.Y.Z, onde X, Y e Z são inteiros.
- Inclua uma tag "version", como 1.0.1, que aponte para uma versão específica em todas as plataformas suportadas.
- Não atualize as tags de "versão", como 1.0.1, porque elas não devem ser alteradas.
Nota
Opcionalmente, o controle de versão pode incluir tags de "versão contínua", como 2.0 e 1.0. Isso suporta a manutenção de várias versões principais em paralelo.
Telemetria
Os módulos que usam o SDK do Módulo IoT devem definir o identificador de módulo exclusivo como PublisherId.OfferId.SkuId para fins de telemetria. Um identificador exclusivo ajuda o Azure Marketplace a identificar o número de instâncias de módulo em execução.
Use um dos seguintes métodos dos SDKs do módulo IoT para definir o ProductInfo para esse identificador:
Para módulos que não usam o SDK do Módulo IoT, informações menos precisas estão disponíveis por meio do Partner Center, como o número de downloads.
Segurança
Os módulos do IoT Edge devem evitar módulos privilegiados. Em vez disso, peça o acesso menos privilegiado possível ao anfitrião.
SDK IoT do módulo
Incluir o SDK do Módulo IoT não é um pré-requisito para a certificação. No entanto, incluir o SDK do Módulo IoT pode fornecer uma melhor experiência ao usuário. Por exemplo, para suportar o roteamento ou envio de mensagens para a nuvem.
O SDK do Módulo IoT é necessário para obter dados de telemetria sobre o número de instâncias de módulo em execução.
Processo de recertificação
Os parceiros são notificados sempre que há uma alteração de quebra que afeta seus módulos, como:
- Matriz de suporte de OS/arch de nível 1 suportada pelo IoT Edge
- SDK do módulo IoT
- Runtime do IoT Edge
- Diretrizes de certificação do módulo IoT Edge
Os parceiros devem atualizar e recertificar suas ofertas publicando-as novamente no Partner Center.
Sua oferta também será recertificada se você atualizá-la, como adicionar novas tags de imagem.
Módulo de host no Registro de Contêiner do Azure
Para carregar seu módulo IoT Edge no Azure Marketplace, primeiro você precisa hospedá-lo em um Registro de Contêiner do Azure (ACR). O módulo deve incluir todas as tags que você deseja publicar, incluindo as tags de imagem que são referenciadas por uma tag de manifesto. Para obter mais informações, consulte o tutorial Criar um registro de contêiner do Azure e enviar por push uma imagem de contêiner.