Configurar pontos de extremidade do fluxo de dados MQTT

Importante

A Versão Prévia das Operações da Internet das Coisas do Azure – habilitadas pelo Azure Arc – está atualmente em versão prévia. Você não deve usar esse software em versão prévia em ambientes de produção.

Você precisará implantar uma nova instalação das Operações da Internet das Coisas do Azure quando uma versão em disponibilidade geral for disponibilizada. Você não poderá atualizar uma instalação de versão prévia.

Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Os pontos de extremidade do fluxo de dados MQTT são usados para origens e destinos MQTT. Você pode definir as configurações do ponto de extremidade, o protocolo TLS, a autenticação e outras configurações.

Pré-requisitos

Corretor MQTT local de operações do Azure IoT

Ponto de extremidade padrão

As Operações do Azure IoT fornecem um Agente MQTT interno que você pode usar com fluxos de dados. Quando você implanta as Operações do Azure IoT, um ponto de extremidade do fluxo de dados chamado "padrão" do Agente MQTT é criado com configurações padrão. Você pode usar esse ponto de extremidade como uma origem ou destino para fluxos de dados. O ponto de extremidade padrão usa as seguintes configurações:

Importante

Se qualquer uma dessas configurações de Agente MQTT padrão for alterada, o ponto de extremidade do fluxo de dados deverá ser atualizado para refletir as novas configurações. Por exemplo, se o ouvinte do Agente MQTT padrão for alterado e usar um nome de serviço diferente my-mqtt-broker e a porta 8885, você deverá atualizar o ponto de extremidade para usar o novo host host: my-mqtt-broker:8885. O mesmo se aplica a outras configurações, como autenticação e TLS.

Para exibir ou editar as configurações de ponto de extremidade do Agente MQTT padrão:

  1. Na experiência de operações, selecione os Pontos de extremidade de fluxo de dados.

  2. Selecione o ponto de extremidade padrão para exibir ou editar as configurações.

    Captura de tela usando a experiência de operações para criar um ponto de extremidade de fluxo de dados MQTT padrão.

Criar um novo ponto de extremidade

Você também pode criar novos pontos de extremidade do Agente MQTT local com configurações personalizadas. Por exemplo, você pode criar um novo ponto de extremidade do Agente MQTT usando uma porta, autenticação ou configurações diferentes.

  1. Na experiência de operações, selecione os Pontos de extremidade de fluxo de dados.

  2. Em Criar novo ponto de extremidade do fluxo de dados, selecione MQTT local de Operações do Azure IoT>Novo.

    Captura de tela usando a experiência de operações para criar um novo ponto de extremidade de fluxo de dados MQTT local.

    Insira as configurações a seguir para o ponto de extremidade:

    Configuração Descrição
    Nome O nome do ponto de extremidade do fluxo de dados.
    Host O nome do host e a porta do Agente MQTT. Use o formato: <hostname>:<port>
    Método de autenticação O método usado para autenticação. Escolha Token de conta de serviço ou certificado X509
    Público-alvo do serviço O público-alvo do token da conta de serviço. Necessário se estiver usando Token de conta de serviço.
    Certificado de cliente X509 O certificado de cliente X.509 usado para autenticação. Necessário se estiver usando o certificado X509.
    Chave do cliente X509 A chave privada correspondente ao certificado de cliente X.509. Necessário se estiver usando o certificado X509.
    Certificados intermediários X509 Os certificados intermediários da cadeia de certificados de cliente X.509. Necessário se estiver usando o certificado X509.

Grade de Eventos do Azure

A Grade de Eventos do Azure fornece um Agente MQTT totalmente gerenciado que funciona com fluxos de dados de Operações do Azure IoT. Para configurar um ponto de extremidade do Agente MQTT da Grade de Eventos do Azure, recomendamos que você use a identidade gerenciada para autenticação.

Configurar o namespace da Grade de Eventos

Se você ainda não fez isso, crie o namespace da Grade de Eventos primeiro.

Habilitar o MQTT

Depois de ter um namespace da Grade de Eventos, vá para Configuração e verifique:

  • Habilitar MQTT: marque a caixa de seleção.
  • Máximo de sessões de cliente por nome de autenticação: defina como 3 ou mais.

A opção de sessões máximas de cliente é importante para que os fluxos de dados possam escalar verticalmente e ainda possam se conectar. Para saber mais, consulte suporte a várias sessões MQTT da Grade de Eventos.

Criar um espaço de tópico

Para que os fluxos de dados enviem ou recebam mensagens para o Agente MQTT da Grade de Eventos, você precisa criar pelo menos um espaço de tópico no namespace da Grade de Eventos. Você pode criar um espaço de tópico no namespace da Grade de Eventos selecionando Espaços de tópico >Novo espaço de tópico.

Para começar rapidamente e testar, você pode criar um espaço de tópico com o tópico curinga # como o modelo de tópico.

Atribuir permissão à identidade gerenciada

Agora que o espaço de tópico foi criado, você precisa atribuir a identidade gerenciada da extensão do Arc das Operações do Azure IoT ao namespace da Grade de Eventos ou ao espaço de tópico.

No portal do Azure, acesse o cluster do Kubernetes conectado ao Azure Arc e selecione Configurações>Extensões. Na lista de extensões, encontre o nome da sua extensão do Azure IoT Operations. Copie o nome da extensão.

Em seguida, vá para o namespace da Grade de Eventos >Controle de acesso (IAM)>Adicionar atribuição de função. Atribua a identidade gerenciada da extensão do Arc das Operações do Azure IoT com uma função apropriada, como EventGrid TopicSpaces Publisher ou EventGrid TopicSpaces Subscriber. Isso fornece à identidade gerenciada as permissões necessárias para enviar ou receber mensagens para todos os espaços de tópico no namespace.

Como alternativa, você pode atribuir a função no nível do espaço de tópico. Vá para o espaço de tópico >Controle de acesso (IAM)>Adicionar atribuição de função. Atribua a identidade gerenciada da extensão do Arc das Operações do Azure IoT com uma função apropriada, como EventGrid TopicSpaces Publisher ou EventGrid TopicSpaces Subscriber. Isso fornece à identidade gerenciada as permissões necessárias para enviar ou receber mensagens para o espaço de tópico específico.

Criar ponto de extremidade de fluxo de dados

Depois que o namespace da Grade de Eventos for configurado, você poderá criar um ponto de extremidade de fluxo de dados para o Agente MQTT da Grade de Eventos.

  1. Na experiência de operações, selecione a guia Pontos de extremidade do fluxo de dados.

  2. Em Criar novo ponto de extremidade do fluxo de dados, selecione MQTT da Grade de Eventos do Azure>Novo.

    Captura de tela usando a experiência de operações para criar um ponto de extremidade da Grade de Eventos do Azure.

    Insira as configurações a seguir para o ponto de extremidade:

    Configuração Descrição
    Nome O nome do ponto de extremidade do fluxo de dados.
    Host O nome do host e a porta do Agente MQTT da Grade de Eventos. Use o formato: <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883
    Método de autenticação O método usado para autenticação. Escolha Identidade gerenciada atribuída pelo sistema
  3. Selecione Aplicar para provisionar o ponto de extremidade.

Depois que o ponto de extremidade for criado, você poderá usá-lo em um fluxo de dados para se conectar ao Agente MQTT da Grade de Eventos como uma origem ou destino. Os tópicos do MQTT são configurados no fluxo de dados.

Use a autenticação de certificado X.509 com a Grade de Eventos

Recomendamos usar a identidade gerenciada para autenticação. Você também pode usar a autenticação de certificado X.509 com o Agente MQTT da Grade de Eventos.

Quando você usar autenticação X.509 com um Agente MQTT da Grade de Eventos, vá para o namespace da Grade de Eventos em >Configuração e verifique as seguintes configurações:

  • Habilitar MQTT: marque a caixa de seleção.
  • Habilitar fontes alternativas de nome de autenticação de cliente: marque a caixa de seleção.
  • Nome da Entidade do Certificado: selecione essa opção na lista suspensa.
  • Máximo de sessões de cliente por nome de autenticação: defina como 3 ou mais.

As opções alternativas de autenticação de cliente e sessões máximas do cliente permitem que os fluxos de dados usem o nome da entidade do certificado do cliente para autenticação em vez de MQTT CONNECT Username. Essa funcionalidade é importante para que os fluxos de dados possam gerar várias instâncias e ainda conseguir se conectar. Para saber mais, consulte Autenticação do certificado do cliente MQTT do Grade de Eventos e Suporte para várias sessões.

Em seguida, siga as etapas em certificado X.509 para definir o ponto de extremidade com as configurações de certificado X.509.

Limitação de assinatura compartilhada da Grade de Eventos

O Agente MQTT da Grade de Eventos do Azure não dá suporte a assinaturas compartilhadas, o que significa que você não pode definir o instanceCount para mais de 1 no perfil de fluxo de dados se a Grade de Eventos for usada como uma fonte (em que o fluxo de dados assina mensagens) para um fluxo de dados. Nesse caso, se você definir instanceCount como maior que 1, o fluxo de dados não será iniciado.

Outros Agentes MQTT

Para outros Agentes do MQTT, você pode configurar o ponto de extremidade, o TLS, a autenticação e outras configurações conforme necessário.

  1. Na experiência de operações, selecione a guia Pontos de extremidade do fluxo de dados.

  2. Em Criar novo ponto de extremidade do fluxo de dados, selecione Agente MQTT personalizado>Novo.

    Captura de tela usando a experiência de operações para criar um ponto de extremidade do Agente MQTT personalizado.

  3. Insira as configurações a seguir para o ponto de extremidade:

    Configuração Descrição
    Nome O nome do ponto de extremidade do fluxo de dados
    Host O nome do host do ponto de extremidade do Agente MQTT no formato <hostname>.<port>.
    Método de autenticação O método usado para autenticação. Escolha Identidade gerenciada atribuída pelo sistema, Identidade gerenciada atribuída pelo usuário ou Token da conta de serviço.
    Público-alvo do serviço O público-alvo do token da conta de serviço. Necessário se estiver usando o token da conta de serviço.
    ID do Cliente A ID do cliente da identidade gerenciada atribuída pelo usuário. Necessário se estiver usando a Identidade gerenciada atribuída pelo usuário.
    ID do locatário A ID do locatário de uma identidade gerenciada atribuída pelo usuário. Necessário se estiver usando a Identidade gerenciada atribuída pelo usuário.
    Nome do segredo do token de acesso O nome do segredo do Kubernetes que contém o token SAS. Necessário se estiver usando o Token de acesso.
  4. Selecione Aplicar para provisionar o ponto de extremidade.

Para personalizar as configurações do ponto de extremidade MQTT, consulte as seções a seguir para obter mais informações.

Métodos de autenticação disponíveis

Os métodos de autenticação a seguir estão disponíveis para pontos de extremidade do fluxo de dados do Agente MQTT. Para obter mais informações sobre como habilitar configurações seguras definindo um Azure Key Vault e habilitando identidades de carga de trabalho, consulte Habilitar configurações seguras na implantação da Versão prévia de Operações do Azure IoT.

Certificado X.509

Muitos agentes MQTT, como a Grade de Eventos, dão suporte à autenticação X.509. Os fluxos de dados podem apresentar um certificado X.509 do cliente e negociar a comunicação TLS.

Para usar a autenticação de certificado X.509, você precisa criar um segredo com o certificado e a chave privada. Use o segredo TLS do Kubernetes que contém o certificado público e a chave privada. Por exemplo:

kubectl create secret tls my-tls-secret -n azure-iot-operations \
  --cert=path/to/cert/file \
  --key=path/to/key/file

Na página de configurações do ponto de extremidade do fluxo de dados da experiência de operações, selecione a guia Básico e escolha Método de autenticação>certificado X509.

Insira as configurações a seguir para o ponto de extremidade:

Configuração Descrição
Certificado de cliente X509 O certificado de cliente X.509 usado para autenticação.
Certificados intermediários X509 Os certificados intermediários da cadeia de certificados de cliente X.509.
Chave do cliente X509 A chave privada correspondente ao certificado de cliente X.509.

Identidade gerenciada atribuída pelo sistema

Para usar a identidade gerenciada atribuída pelo sistema para autenticação, não é necessário criar um segredo. A identidade gerenciada atribuída pelo sistema é usada para autenticar com o Agente MQTT.

Antes de configurar o ponto de extremidade, verifique se a identidade gerenciada de Operações do Azure IoT tem as permissões necessárias para se conectar ao Agente MQTT. Por exemplo, com o Agente MQTT da Grade de Eventos do Azure, atribua a identidade gerenciada ao espaço de tópico ou namespace da Grade de Eventos com uma função apropriada.

Em seguida, defina o ponto de extremidade com as configurações de identidade gerenciada atribuída pelo sistema. Na maioria dos casos, ao usar isso com a Grade de Eventos, você pode deixar as configurações vazias, conforme mostrado no exemplo a seguir. Isso define o público-alvo da identidade gerenciada para o público-alvo comum da Grade de Eventos https://eventgrid.azure.net.

Na página de configurações do ponto de extremidade do fluxo de dados da experiência de operações, selecione a guia Básico e escolha Método de autenticação>Identidade gerenciada atribuída pelo sistema.

Se você precisar definir um público-alvo diferente, poderá especificá-lo nas configurações.

Não há suporte.

Identidade gerenciada atribuída pelo usuário

Para usar a identidade gerenciada pelo usuário para autenticação, primeiro você deve implantar as Operações do Azure IoT com configurações seguras habilitadas. Para saber mais, consulte Habilitar configurações seguras na implantação da Visualização das Operações do Azure IoT.

Em seguida, especifique o método de autenticação de identidade gerenciada atribuída pelo usuário, juntamente com a ID do cliente, a ID do locatário e o escopo da identidade gerenciada.

Na página de configurações do ponto de extremidade do fluxo de dados da experiência de operações, selecione a guia Básico e escolha Método de autenticação>Identidade gerenciada atribuída pelo usuário.

Insira a ID do cliente de identidade gerenciada atribuída pelo usuário, a ID do locatário e o escopo nos campos apropriados.

Token da conta de serviço do Kubernetes (SAT)

Para usar o token da conta de serviço do Kubernetes (SAT) para autenticação, você não precisa criar um segredo. O SAT é usado para autenticar com o Agente MQTT.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Básico e escolha Método autenticação>Token de conta de serviço.

Insira o público-alvo do serviço.

Se o público-alvo não for especificado, o público-alvo padrão do Agente MQTT de Operações do Azure IoT será usado.

Anônimo

Para usar a autenticação anônima, defina o método de autenticação como Anonymous.

Ainda não há suporte na experiência de operações. Consulte os problemas conhecidos.

Configurações avançadas

Você pode definir configurações avançadas para o ponto de extremidade do fluxo de dados do Agente MQTT, como TLS, certificado de Autoridade de Certificação confiável, configurações de mensagens do MQTT e CloudEvents. Você pode definir essas configurações na guia do portal Avançado no ponto de extremidade do fluxo de dados, dentro do recurso personalizado do ponto de extremidade de fluxo de dados.

Na experiência de operações, selecione a guia Avançado do ponto de extremidade do fluxo de dados.

Captura de tela usando a experiência de operações para definir as configurações avançadas do ponto de extremidade do fluxo de dados do Kafka.

Configuração Descrição
Qualidade do serviço (QoS) Define o nível de garantia para entrega de mensagens. Os valores são 0 (no máximo uma vez), 1 (pelo menos uma vez). O padrão é UTF-1.
Keep alive O intervalo keep alive (em segundos) é o tempo máximo que o cliente do fluxo de dados pode ficar ocioso antes de enviar uma mensagem PINGREQ ao agente. O padrão é 60 segundos.
Máximo de mensagens em andamento Você pode definir o número máximo de mensagens em andamento que o cliente MQTT do fluxo de dados pode ter. O padrão é 100.
Protocolo Por padrão, WebSockets não está habilitado. Para usar o MQTT em vez de WebSockets, defina o protocolo como WebSockets.
Manter Especifique se o fluxo de dados deve manter o sinalizador retain em mensagens MQTT. O padrão é Keep.
Expiração da sessão O intervalo de expiração da sessão (em segundos) é o tempo máximo que uma sessão MQTT é mantida se o cliente do fluxo de dados se desconectar. O padrão é 3600 segundos.
Modo TLS habilitado Indica se o TLS está habilitado para comunicação segura com o Agente MQTT.
Prefixo da ID do cliente A ID do cliente é gerada acrescentando o nome da instância do fluxo de dados ao prefixo.
Atributos do evento de nuvem Para Propagar, as propriedades do CloudEvent são passadas para mensagens que contém as propriedades necessárias. Se a mensagem não contiver as propriedades necessárias, a mensagem será passada como está. Para Criar ou mapear novamente, as propriedades do CloudEvent são passadas para mensagens que contém as propriedades necessárias. Se a mensagem não contiver as propriedades necessárias, as propriedades serão geradas.

Configurações de protocolo TLS

Modo TLS

Para habilitar ou desabilitar o TLS para o ponto de extremidade do Kafka, atualize a configuração mode nas configurações do TLS.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use a caixa de seleção ao lado de modo TLS habilitado.

O modo TLS pode ser definido como Enabled ou Disabled. Se o modo estiver definido como Enabled, o fluxo de dados usará uma conexão segura com o agente Kafka. Se o modo estiver definido como Disabled, o fluxo de dados usará uma conexão insegura com o agente Kafka.

Certificado de Autoridade de Certificação confiável

Configure o Certificado de Autoridade de Certificação Confiável para o ponto de extremidade MQTT para estabelecer uma conexão segura com o Agente MQTT. Essa configuração é importante se o Agente MQTT usar um certificado autoassinado ou um certificado assinado por uma AC personalizada que não é confiável por padrão.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Mapa de configuração do Certificado de Autoridade de Certificação Confiável para especificar o ConfigMap que contém o certificado de Autoridade de Certificação Confiável.

Esse ConfigMap deve conter o Certificado de Autoridade de Certificação no formato PEM. O ConfigMap deve estar no mesmo namespace que o recurso de fluxo de dados do MQTT. Por exemplo:

kubectl create configmap client-ca-configmap --from-file root_ca.crt -n azure-iot-operations

No caso da Grade de Eventos, seu certificado de Autoridade de Certificação já é amplamente confiável e, portanto, você pode omitir essa configuração.

Prefixo da ID do cliente

Você pode definir um prefixo da ID do cliente para o cliente MQTT. A ID do cliente é gerada acrescentando o nome da instância do fluxo de dados ao prefixo.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo do prefixo da ID do Cliente para especificar o prefixo.

QoS

Você pode definir o nível de QoS para as mensagens MQTT como 1 ou 0. O padrão é 1.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Qualidade do Serviço (QoS) para especificar o nível de QoS.

Manter

Use a configuração retain para especificar se o fluxo de dados devem manter o sinalizador retain em mensagens MQTT. O padrão é Keep.

Essa configuração é útil para garantir que o agente remoto tenha as mesmas mensagens que o agente local, o que pode ser importante para cenários de Unified Namespace.

Se definido como Never, o sinalizador retain será removido das mensagens MQTT. Isso pode ser útil quando você não quiser que o agente remoto retenha mensagens ou se o agente remoto não der suporte à retenção.

Para definir as configurações de retenção:

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Reter para especificar a configuração de retenção.

A configuração retain só entrará em vigor se o fluxo de dados usar o ponto de extremidade MQTT como origem e destino. Por exemplo, em um cenário de ponte MQTT.

Importante

Atualmente, o Agente MQTT da Grade de Eventos do Azure não dá suporte ao sinalizador de retenção. Isso significa que, se você definir o sinalizador de retenção como Keep para um ponto de extremidade do Agente MQTT da Grade de Eventos e ele estiver sendo usado como um destino, as mensagens serão rejeitadas. Para evitar isso, defina o sinalizador de retenção como Never ao usar o Agente MQTT da Grade de Eventos como um destino.

Expiração da sessão

Você pode definir o intervalo de expiração da sessão para o cliente MQTT do fluxo de dados. O intervalo de expiração da sessão é o tempo máximo que uma sessão MQTT é mantida se o cliente do fluxo de dados se desconectar. O padrão é 3600 segundos. Para configurar o intervalo de expiração da sessão:

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Expiração da sessão para especificar o intervalo de expiração da sessão.

Protocolo WebSockets ou MQTT

Por padrão, WebSockets não está habilitado. Para usar o MQTT em vez de WebSockets, defina o campo protocol como WebSockets.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Protocolo para especificar o protocolo.

Máximo de mensagens em andamento

Você pode definir o número máximo de mensagens em andamento que o cliente MQTT do fluxo de dados pode ter. O padrão é 100.

Na página de configurações de ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Máximo de mensagens em trânsito para especificar o número máximo de mensagens em trânsito.

Para assinar quando o ponto de extremidade MQTT é usado como uma origem, esse é o máximo de recebimento. Para publicar quando o ponto de extremidade MQTT for usado como destino, esse é o número máximo de mensagens a serem enviadas antes de aguardar uma confirmação.

Keep alive

Você pode definir o intervalo keep alive para o cliente MQTT do fluxo de dados. O intervalo keep alive é o tempo máximo que o cliente do fluxo de dados pode ficar ocioso antes de enviar uma mensagem PINGREQ ao agente. O padrão é 60 segundos.

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Keep alive para especificar o intervalo keep alive.

CloudEvents

CloudEvents são uma maneira de descrever dados de evento de maneira comum. As configurações de CloudEvents são usadas para enviar ou receber mensagens no formato CloudEvents. Você pode usar CloudEvents para arquiteturas orientadas por eventos em que diferentes serviços precisam se comunicar entre si nos mesmos provedores de nuvem ou em provedores de nuvem diferentes.

As opções de CloudEventAttributes são Propagate ou CreateOrRemap. Para definir as configurações do CloudEvents:

Na página de configurações do ponto de extremidade de fluxo de dados da experiência de operações, selecione a guia Avançado e use o campo Atributos do evento em nuvem para especificar a configuração do CloudEvents.

As seções a seguir fornecem mais informações sobre as configurações do CloudEvents.

Configuração Propagar

As propriedades do CloudEvent são passadas para mensagens que contêm as propriedades necessárias. Se a mensagem não contiver as propriedades necessárias, a mensagem será passada como está.

Nome Obrigatório Valor de exemplo Valor de saída
specversion Sim 1.0 Passado como está
type Sim ms.aio.telemetry Passado como está
source Sim aio://mycluster/myoven Passado como está
id Sim A234-1234-1234 Passado como está
subject Não aio/myoven/telemetry/temperature Passado como está
time Não 2018-04-05T17:31:00Z Passado como está. Não é carimbado novamente.
datacontenttype Não application/json Alterado para o tipo de conteúdo de dados de saída após o estágio de transformação opcional.
dataschema Não sr://fabrikam-schemas/123123123234234234234234#1.0.0 Se um esquema de transformação de dados de saída for fornecido na configuração de transformação, dataschema será alterado para o esquema de saída.

Configuração CreateOrRemap

As propriedades do CloudEvent são passadas para mensagens que contêm as propriedades necessárias. Se a mensagem não contiver as propriedades necessárias, as propriedades serão geradas.

Nome Obrigatório Valor gerado se ausente
specversion Sim 1.0
type Sim ms.aio-dataflow.telemetry
source Sim aio://<target-name>
id Sim UUID gerado no cliente de destino
subject Não O tópico de saída para onde a mensagem é enviada
time Não Gerado como RFC 3339 no cliente de destino
datacontenttype Não Alterado para o tipo de conteúdo de dados de saída após o estágio de transformação opcional
dataschema Não Esquema definido no registro de esquema

Próximas etapas