Publishers

Os publicadores (publishers) são as aplicações ou parceiros que enviam dados ao Sensedia Events Hub, comunicando eventos que serão distribuídos aos subscritores.

Os publicadores enviam eventos para tópicos, que definem a URL de publicação. Por isso, no processo de registro de publicadores é necessário habilitar os tópicos a que cada publicador poderá enviar requisições. Quando um evento é recebido pelo Events Hub, os publicadores são identificados pelo seu client ID e exibidos nos detalhes do evento (na página Event Status).

Para que essa identificação ocorra, é necessário que exista um interceptor que valide client ID como parte da política aplicada ao handler (seja OAuth Validation ou Client ID Validation).

A tela Publishers lista os publicadores existentes e permite cadastrar novos.

publishers

Lista de publishers

A lista de publicadores informa o nome, o client ID, o desenvolvedor responsável, o status (que pode ser aprovado, pendente, rejeitado ou cancelado) e data de criação. A lista pode ser ordenada por nome ou data de criação e de forma crescente ou decrescente, a partir dos ícones de ordenação ao lado dos campos NAME e CREATION DATE.

Acima da listagem, é possível pesquisar por nome do publicador no campo de busca Name ou abrir filtros avançados pelo ícone icon search, que permitem pesquisar por desenvolvedor, client ID, data inicial e final de criação, status ou handler:

publishers search

Clicando sobre o nome de um publicador, o usuário é dirigido para a tela de overview, que permite editar as informações do publicador e habilitar ou desabilitar tópicos para publicação:

publishers overview

Criando publishers

O Events Hub permite duas formas de registro de publishers: criação de um publisher do zero ou importação de uma app da Sensedia API Platform.

Em ambos os casos, o processo compreende três etapas: OVERVIEW, TOPICS e REVIEW.

Para importar uma app, coloque o cursor sobre o botão + no canto inferior direito e clique sobre Import From API Platform:

publishers import

Nesse caso, os campos da seção OVERVIEW já estarão preenchidos e o usuário pode seguir para a etapa TOPICS.

Para criar um publisher do zero, clique no botão + no canto inferior direito da tela.

Overview

publishers create overview

A primeira etapa de registro de um publisher contém os seguintes campos a serem preenchidos:

  • Name: nome do publisher, que deve ser único.

  • Status: estado, entre aprovado (approved), pendente (pending), rejeitado (rejected) ou cancelado (canceled).

  • Description: campo não obrigatório para incluir uma descrição.

  • Developer: campo para inserir o email do desenvolvedor responsável pelo publisher.

  • Client ID: campo obrigatório que será utilizado para identificação do publisher quando o evento for recebido pelo Events Hub.

No caso de importação de uma app da Sensedia API Platform, esses campos já estarão preenchidos. O preenchimento manual de dados de uma app da Plataforma requer acesso à app para obtenção do client ID.

Topics

A segunda etapa compreende a habilitação de tópicos para que o publicador envie eventos ao Events Hub. Os tópicos cadastrados são exibidos por meio dos handlers (que são agrupadores de tópicos):

publishers create topics

Você pode procurar por handlers usando o campo de busca Keywords acima da lista de handlers, que procura por termos usados no nome ou descrição do handler.

Ao encontrar o handler desejado, clique no ícone icon view topics, que abre uma janela com os tópicos agregados ao handler:

publishers create topics select

Na processo de criação ou edição de handlers, os tópicos são habilitados em contextos específicos. Mas isso não significa que um publicador vinculado a um tópico deverá publicar para todos os contextos. Para que seja possível que publicadores diferentes utilizem o mesmo tópico em cenários distintos, é necessário habilitar um contexto de publicação para o tópico neste estágio de cadastro de publicadores.

Imagine, por exemplo, que você queira que o publicador "Publisher A" publique eventos para o tópico "Example". Ao mesmo tempo, quer que sua equipe de desenvolvimento faça testes para o mesmo tópico "Example" mas utilizando um endpoint mock de autorização.

Você pode criar um contexto para testes (chamado, por exemplo, "Testing") e habilitar o tópico "Example" tanto para o contexto padrão ("Default") quando para o contexto "Testing". Como os endpoints de autorização são definidos a nível de contexto, pode configurar um mock para "Testing", enquanto o contexto padrão tem o devido endpoint de autorização.

Agora, ao você cadastrar o "Publisher A", você adiciona o tópico "Example", mas habilita apenas o contexto padrão para publicação. Pode, então, cadastrar um outro publicador para o seu time de desenvolvimento e, para esse publicador, habilitar "Testing" como contexto de publicação para o tópico "Example".

Os tópicos com contextos habilitados estarão com o ícone icon expand colorido. Clicando sobre ele, você verá que os contextos (que estão habilitados a nível do tópico) estarão desabilitados para o publicador que está sendo configurado. Habilite os contextos que desejar pelo botão da coluna PUBLISH:

publishers create topics context
Se você quiser incluir um tópico mas o ícone icon expand estiver cinza, será necessário primeiro habilitar um contexto para o tópico, o que é feito no processo de edição de handlers.

Cada tópico selecionado será listado na seção ENABLED TOPICS acima da listagem de handlers (e podem ser removidos pelo ícone icon delete):

publishers create topics enabled

Review

A etapa final de registro de um publisher exibe os dados cadastrados:

publishers create review

Editando e excluindo publishers

Tanto a edição quanto a exclusão de publicadores são feitas na tela de overview, que é acessada ao clicar sobre o nome na lista da tela Publishers:

publishers overview

Para editar os dados básicos do publicador(nome, descrição, estado, desenvolvedor e client ID), clique no botão EDIT PUBLISHER. Os campos para edição são iguais ao da etapa OVERVIEW de registro de um publicador.

Para editar os tópicos habilitados, clique em EDIT ENABLED TOPICS. O processo é o mesmo descrito na etapa TOPICS de registro de um publicador.

Para excluir um publicador, clique no botão icon delete.

Thanks for your feedback!
EDIT
How useful was this article to you?