Criando um Conector com uma Origem de Fila

Crie um conector no Connector Hub para transferir mensagens de uma fila no serviço Queue para um serviço de destino.

Para obter mais informações sobre o serviço Queue, consulte Fila.

Um conector definido com uma origem de Fila e uma tarefa de função (opcional) suporta os seguintes destinos: Funções, Notificações, Armazenamento de Objetos e Streaming.

Para obter um exemplo do workflow do Connector Hub, consulte Visão Geral do Connector Hub.

Para um cenário envolvendo um destino de função, consulte Cenário: Enviando Mensagens da Fila para uma Função.

Sondagem Longa

Por padrão, os conectores usam sondagem longa para ler mensagens de filas. A sondagem longa é útil para evitar novas tentativas de loop estreito quando a fila está vazia. O timeout de leitura para leitura de uma fila é de 30 segundos. Em cada operação de movimentação, o conector aguarda que as mensagens consumíveis estejam disponíveis na fila. Se o timeout de leitura for aprovado e nenhuma mensagem estiver disponível para consumo, o conector encerrará a solicitação e tentará novamente com outra solicitação.

Filtros e Mensagens Consumidas

Você pode filtrar uma fila para canais específicos. Para obter parâmetros de API e CLI para filtrar uma fila, consulte Consumindo Mensagens de um Canal. Uma mensagem que foi transferida para o destino do conector é considerada "consumida". Para atender aos requisitos do serviço Queue, o conector exclui mensagens transferidas da fila de origem. Para obter mais informações, consulte Como Consumir Mensagens.

Período de Retenção: Origem da Fila

O período de retenção da origem da Fila no Connector Hub depende da configuração da fila. Consulte Criando uma Fila. Para obter mais informações sobre entrega, consulte Detalhes da Entrega.

    1. Na página da lista Conectores, selecione Criar conector. Se precisar de ajuda para localizar a página da lista, consulte Listando Conectores.
    2. Na página Criar conector, digite um nome amigável para o novo conector e uma descrição opcional. Evite digitar informações confidenciais.
    3. Selecione o compartimento no qual você deseja armazenar o novo conector.
    4. Em Configurar conector, para Origem, selecione Fila.
    5. Para Destino, selecione o serviço para o qual você deseja transferir as mensagens:
      • Funções: envia mensagens de uma fila para uma função.
      • Notificações: envia mensagens de uma fila para um tópico. As notificações só são suportadas quando nenhuma tarefa de função é definida.
      • Object Storage: Envie mensagens de uma fila para um bucket.
      • Streaming: envia mensagens de uma fila para um stream.
    6. (Opcional) Para ativar logs de serviço para o novo conector, selecione a chave Logs e forneça os seguintes valores:
      • Categoria de log: O valor Rastreamento de Conector é selecionado automaticamente.
      • Compartimento: Selecione o compartimento que você deseja armazenar os logs de serviço do conector.
      • Grupo de logs: Selecione o grupo de logs que você deseja armazenar os logs de serviço. Para criar um novo grupo de logs, selecione Criar novo grupo e informe um nome.
      • Nome do log: Opcionalmente, digite um nome para o log.
      • Mostrar opções avançadas:
        • Retenção de log: Como opção, especifique por quanto tempo manter os logs de serviço (padrão: 30 dias).
    7. Em Configurar conexão de origem, selecione a fila que contém as mensagens que você deseja:
      • Compartimento: Selecione o compartimento que contém a fila desejada.
      • Fila: Selecione a fila que contém as mensagens que você deseja.
        Observação

        Para selecionar uma fila para um conector, você deve ter autorização para ler a fila. Consulte Políticas do Serviço IAM (Protegendo o Connector Hub).
      • Filtro de Canal (em Filtragem de mensagens) (opcional): Para filtrar mensagens de canais na fila, informe um valor.

        Por exemplo, para filtrar mensagens por ID do canal, informe o ID do canal.

        Para obter os valores suportados, consulte channelFilter em GetMessages (API do serviço Queue).

      Observação

      Uma mensagem que foi transferida para o destino do conector é considerada "consumida". Para atender aos requisitos do serviço Queue, o conector exclui mensagens transferidas da fila de origem. Para obter mais informações, consulte Como Consumir Mensagens.
    8. (Opcional) Em Configurar tarefa de função, configure uma tarefa de função para processar mensagens da fila usando o serviço Functions):
      • Selecionar tarefa: Selecione Função.
      • Compartimento: Selecione o compartimento que contém a função desejada.
      • Aplicativo de função: Selecione o nome do aplicativo de função que inclui a função desejada.
      • Função: Selecione o nome da função que você deseja usar para processar os dados recebidos da origem.

        Para uso pelo conector como uma tarefa, a função deve ser configurada para retornar uma das seguintes respostas:

        • Lista de entradas JSON (deve definir o cabeçalho de resposta Content-Type=application/json)
        • Entrada JSON única (deve definir o cabeçalho de resposta Content-Type=application/json)
        • Objeto binário único (deve definir o cabeçalho de resposta Content-Type=application/octet-stream)
      • Mostrar opções adicionais: Selecione este link e especifique limites para cada batch de dados enviado à função. Para usar configurações manuais, forneça valores para limite de tamanho do lote (KBs) e limite de tempo do lote (segundos).

      Considerações para tarefas de função:

      • O Connector Hub não faz parsing da saída da tarefa de função. A saída da tarefa de função é gravada como está no destino. Por exemplo, ao usar um destino do serviço Notifications com uma tarefa de função, todas as mensagens são enviadas como blobs de JSON brutos.
      • As funções são chamadas de forma síncrona com 6 MB de dados por chamada. Se os dados excederem 6 MB, o conector chamará a função novamente para mover os dados que estão acima do limite. Essas chamadas são tratadas sequencialmente.
      • As funções podem ser executadas por até cinco minutos. Consulte Detalhes da Entrega.
      • As tarefas de função são limitadas a funções escalares.
    9. Se você selecionou Funções como destino, em Configurar destino, configure a função para a qual enviar as mensagens da fila. Em seguida, vá para a etapa 15.
      • Compartimento: Selecione o compartimento que contém a função desejada.
      • Aplicativo de função: selecione o nome do aplicativo de função que contém a função desejada.
      • Função: Selecione o nome da função para a qual você deseja enviar os dados.
      • Mostrar opções adicionais: Selecione este link e especifique limites para cada batch de dados enviado à função. Para usar definições manuais, forneça valores para limite de tamanho do lote (KBs ou número de mensagens) e limite de tempo do lote (segundos).

        Por exemplo, limite o tamanho do lote selecionando 5.000 kilobytes ou 10 mensagens. Um exemplo de limite de tempo do batch é de 5 segundos.

      Considerações para destinos de Funções:

      • O conector libera dados de origem como uma lista JSON em batches. O tamanho máximo do lote, ou payload, é de 6 MB.
      • As funções são chamadas de forma síncrona com 6 MB de dados por chamada. Se os dados excederem 6 MB, o conector chamará a função novamente para mover os dados que estão acima do limite. Essas chamadas são tratadas sequencialmente.
      • As funções podem ser executadas por até cinco minutos. Consulte Detalhes da Entrega.
      • Não retorne dados dos destinos do serviço Functions para conectores. O Connector Hub não lê os dados retornados dos destinos do serviço Functions.
    10. Se você selecionou Notificações como destino, em Configurar destino, configure o tópico para o qual enviar as mensagens da fila. Em seguida, vá para a etapa 15.
      • Compartimento: Selecione o compartimento que contém o tópico que você deseja.
      • Tópico: Selecione o nome do tópico para o qual deseja enviar os dados.
      • Formato de mensagem: Selecione a opção que deseja:
        Observação

        As opções de Formato de mensagem estão disponíveis apenas para conectores com origem no serviço Logging. Essas opções não estão disponíveis para conectores com tarefas de função. Quando as opções de Formato de mensagem não estão disponíveis, as mensagens são enviadas como blobs JSON brutos.
        • Enviar mensagens formatadas: Layout simplificado e amigável.

          Para exibir protocolos de inscrição e tipos de mensagem suportados para mensagens formatadas, consulte Formatação Amigável.

        • Enviar mensagens brutas: blob de JSON bruto.

      Considerações para destinos de Notificações:

      • O tamanho máximo da mensagem para o destino Notificações é 128 KB. Qualquer mensagem que exceda o tamanho máximo será eliminada.
      • As mensagens SMS exibem resultados inesperados para determinadas configurações do conector. Esse problema se limita a tópicos que contêm assinaturas SMS para as configurações de conector indicadas. Para obter mais informações, consulte Várias mensagens SMS para uma única notificação.
    11. Se você selecionou o serviço Object Storage como destino, em Configurar destino, configure o bucket para o qual enviar as mensagens da fila. Em seguida, vá para a etapa 15.
      • Compartimento: Selecione o compartimento que contém o bucket desejado.
      • Bucket: Selecione o nome do bucket para o qual você deseja enviar os dados.
      • Prefixo do Nome do Objeto: Opcionalmente, informe um valor de prefixo.
      • Mostrar opções adicionais: Selecione este link e, opcionalmente, informe valores para o tamanho do batch (em MBs) e o tempo do batch (em milissegundos).

      Considerações para destinos de Armazenamento de Objetos:

      • Detalhes da substituição do batch:

        • Tamanho da substituição do batch: 100 MB
        • Tempo de substituição do batch: 7 minutos
      • Os arquivos salvos no serviço Object Storage são compactados usando gzip.

      • Formato de dados movidos de uma origem de Monitoramento: Objetos. O conector particiona dados de origem do Monitoring por namespace de métricas e grava os dados de cada grupo (namespace) em um objeto. Cada nome de objeto inclui os elementos a seguir.

        <object_name_prefix>/<service_connector_ocid>/<metric_compartment_ocid>/<metric_namespace>/<data_start_timestamp>_<data_end_timestamp>.<sequence_number>.<file_type>.gz

        Dentro de um objeto, cada conjunto de pontos de dados é anexado a uma nova linha.

    12. Se você selecionou Streaming como destino, em Configurar destino, configure o stream para o qual enviar as mensagens da fila.
      Observação

      Para selecionar um pool de streams e um stream para um conector, você deve ter autorização para ler o pool de streams e o stream. Consulte Políticas do IAM (Protegendo o Connector Hub). Configuração de ponto final privado é suportada. Para usar um ponto final privado, consulte Pré-requisitos de Ponto Final Privado para Streams.
      • Compartimento: Selecione o compartimento que contém o stream desejado.
      • Stream: Selecione o nome do stream para o qual você deseja enviar os dados.

      Considerações para destinos de Streaming:

      • Formato dos dados movidos de uma origem de Monitoramento: Cada objeto é gravado como uma mensagem separada.
    13. Para aceitar políticas padrão, selecione o link Criar fornecido para cada política padrão.

      As políticas padrão são oferecidas para qualquer autorização necessária para que este conector acesse os serviços de origem, tarefa e destino.

      Você pode obter essa autorização por meio dessas políticas padrão ou de políticas baseadas em grupo. As políticas padrão são oferecidas sempre que você usa a Console para criar ou editar um conector. A única exceção é quando a política exata já existe no serviço IAM; nesse caso, a política padrão não é oferecida. Para obter mais informações sobre esse requisito de autorização, consulte Autenticação e Autorização.

      • Se você não tiver permissões para aceitar políticas padrão, entre em contato com o administrador.
      • As políticas criadas automaticamente permanecem quando os conectores são excluídos. Como prática recomendada, exclua as políticas associadas ao excluir o conector.

      Para revisar uma política recém-criada, selecione o link de exibição associado.

    14. (Opcional) Adicione uma ou mais tags ao conector: Selecione Mostrar Opções Avançadas para mostrar a seção Adicionar Tags.
      Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deverá ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recurso. Se você não tiver certeza se deseja aplicar tags, ignore esta opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
    15. Selecione Criar.
    O processo de criação é iniciado e seu progresso é exibido. Na conclusão, a página de detalhes do conector é aberta.
  • Use o comando oci sch service-connector create e os parâmetros necessários para criar um conector com uma origem de Fila:

    oci sch service-connector create [...] --source <queue_json_input>

    Para transmitir detalhes de origem à CLI usando um arquivo JSON:

    oci sch service-connector create [...] --source file:queue_source.json

    Exemplo de conteúdo do arquivo JSON:

    {
        "kind": "plugin",
        "pluginName": "QueueSource",
        "configMap": {
            "queueId": "<queue_json_input>"
        }
    }

    Para obter uma lista completa dos parâmetros e valores dos comandos da CLI, consulte a Referência de Comandos da CLI.

  • Execute a operação CreateServiceConnector para criar um conector.

    Para criar um conector com uma origem de Fila, preencha source na solicitação (CreateServiceConnectorDetails) com um plug-in de conector que use Fila (pluginName QueueSource, com cada OCID de fila em configMap). Para obter um exemplo, consulte PluginSourceDetails.

Confirmar se o Novo Conector Move Dados

Depois de criar o conector, confirme se ele está movendo dados.

  • Ativar logs do conector para obter detalhes sobre o fluxo de dados.
  • Verifique os resultados esperados no serviço de destino.

A confirmação de que os dados são movidos ajuda a evitar a desativação automática, que acontece quando um conector falha por um longo tempo.