Criar e Gerenciar Fluxos de Dados

Criar um Fluxo de Dados a partir da interface do usuário

  1. No painel de navegação esquerdo, selecione Data Streams para abrir a página do serviço Data Streams.

  2. Clique no botão Adicionar Fluxo de Dados. A caixa de diálogo Adicionar fluxo de dados é exibida.

    Página principal do Serviço Data Streams com o botão Adicionar Fluxos de Dados

  3. Na página Informações do Serviço Data Stream, informe um nome de recurso exclusivo na caixa Nome.

    O nome deve ter entre 1 e 32 caracteres. Começa com uma letra. Use um nome estável porque os pontos de verificação têm escopo no contrato de fluxo. Clique em Próximo.

    Caixa de diálogo Adicionar Fluxos de Dados: página Informações do Fluxo de Dados

  4. Adicione a descrição ao proprietário da empresa, à trilha de origem, às tabelas, ao consumidor e ao objetivo de recuperação.

  5. Na página Opções de Origem, forneça os valores das opções mostradas na seguinte imagem:

    Caixa de diálogo Fluxo de Dados: página Opções de Origem

    • Nome da Trilha: Nome do arquivo de trilha de origem. O nome da trilha deve ter dois caracteres que identifiquem o prefixo da trilha de origem ou o ponto final de origem aceito pelo serviço.

    • Subdiretório de Trilha: O caminho do subdiretório em que os arquivos de trilha são armazenados. Esse é o diretório abaixo da implantação GoldenGate na qual a trilha de origem está armazenada, quando não está no local padrão.

    • Codificação: Esta opção controla a codificação de registros para o fluxo de dados. Atualmente, a codificação JSON é suportada. Use o editor YAML ou a configuração REST para opções avançadas de JSON.

    • Tamanho do Buffer: Esse valor controla o tamanho do buffer de memória usado no serviço de streaming de dados. O serviço de streaming de dados descarregará a fila de mensagens na memória depois que o tamanho total do byte exceder o valor especificado e entregar os registros ao cliente. Faixa de 131.072 a 10.485.760; padrão 1.048.576. Isso não é retenção durável.

    • Qualidade de Serviço: Esta opção define o comportamento duplicado de supressão e recuperação do fluxo de dados. exactlyOnce, atLeastOnce ou atMostOnce.

      Consulte Checkpointing, Recovery e Delivery Semantics antes de selecionar um valor não padrão.

      Três níveis de qualidade de serviço são suportados no serviço de streaming de dados:

      • Exatamente Uma Vez: esse modo é o mais restritivo em que o serviço filtra todos os registros duplicados durante a recuperação de ver registros RESTART OK/ABEND nas trilhas de origem. Os clientes não verão registros duplicados. Se o serviço não puder localizar o registro com a última posição processada, ocorrerá um erro.

      • Pelo Menos uma Vez: Esse modo não suprime registros duplicados durante a recuperação nem vê um registro RESTART OK/ABEND na trilha de origem. Os clientes podem ver registros duplicados no fluxo de dados. Além disso, se o serviço não puder localizar o registro com a última posição processada fornecida, ocorrerá um erro.

      • No Máximo Uma Vez: Esse modo suprime registros duplicados durante a recuperação ou vê um registro RESTART OK/ABEND na trilha de origem. Os clientes não verão registros duplicados no fluxo de dados. Se o serviço não conseguir localizar o registro com a última posição processada fornecida, ele encontrará o próximo registro disponível e avançará.

    • Formato CloudEvents: O serviço de streaming de dados suporta a transmissão dos registros de dados no formato CloudEvents. Ele envolve registros GoldenGate no JSON CloudEvents. Desativado por default. Por padrão, esse formato é desativado e pode ser controlado ativando a propriedade usando o switch de alternância ao criar o canal de streaming de dados.

  6. Na página Opções de Filtro, as opções para incluir e excluir regras de filtragem estão disponíveis, conforme mostrado na seguinte imagem:

    Caixa de diálogo Fluxo de Dados:

    Especifique as opções da regra de filtragem da seguinte forma:

    • Ação da Regra: Selecione as opções Excluir ou Incluir.

    • Tipo de Filtro: O tipo de filtro inclui o seguinte:

      Tipo de Objeto: você pode selecionar várias opções na lista drop-down, incluindo DML, DDL, INSERT, UPDATE, UPSERT, DELETE.

      Nomes de Objeto: Nome do objeto de filtragem criado anteriormente.

Clique em Adicionar para adicionar a regra de filtragem ao processo do Fluxo de Dados.

  1. Clique em Criar Fluxo de Dados. Você retornará à home page do Serviço de Distribuição na qual o Fluxo de Dados está listado.

  2. Clique no Fluxo de Dados criado para exibir as definições AsyncAPI do Streaming de Dados do documento YAML para o fluxo.

Editar Configuração do Serviço Data Streams na interface do usuário

Para editar a configuração do serviço Data Streams:

  1. No painel de navegação esquerdo, clique em Data Streams.

  2. Selecione o nome do fluxo de dados que precisa ser modificado.

  3. Na página Fluxos de Dados, use a coluna Ação para exibir detalhes do fluxo de dados, excluir um fluxo de dados e alterar sua filtragem.

    Modifique a filtragem do fluxo de dados.

  4. Se você clicar na opção Alterar Filtragem no menu Ação, a caixa de diálogo Editar Regras de Filtragem do Fluxo de Dados será exibida. Nessa caixa, você pode alterar a Ação da Regra (Incluir, Excluir) e o Tipo de Filtro (Nome do Objeto ou Tipo de Objeto).

  5. Clique em Adicionar para aplicar a filtragem.

  6. Clique em Submeter para retornar a página Fluxos de Dados.

    Você pode editar ainda mais o fluxo de dados clicando no fluxo de dados na coluna Nome. Isso exibe a configuração completa do fluxo de dados. Use o ícone de lápis ao lado de cada definição de configuração para alterá-la. Você pode alterar o arquivo de trilha de origem usado por um fluxo de dados, suas regras de filtragem e a qualidade do serviço. Você também pode usar o editor YAML para alterar a configuração do fluxo de dados e fazer upload de alterações usando o ícone Fazer Upload de Alterações ao lado do Editor YAML.

Criar um Fluxo de Dados com a API REST

Use POST /services/v2/stream/{streamName} com uma conta de Administrador. A solicitação mínima identifica uma trilha de origem:

{
  "$schema": "ogg:dataStream",
  "source": {
    "trail": "ea",
    "path": "./dirdat"
  }
}

Uma solicitação de produção normalmente define a qualidade do serviço, filtros, emissão de esquema JSON, campos de metadados e controles de tamanho explicitamente. O arquivo de suporte data_stream_create_request.json contém um exemplo completo de limpeza.

{
  "$schema": "ogg:dataStream",
  "description": "Streams sales order changes",
  "source": {"trail": "ea", "path": "./dirdat"},
  "qualityOfService": "exactlyOnce",
  "bufferSize": 1048576,
  "tcpKeepAliveTimeout": 120,
  "cloudEventsFormat": false,
  "rules": [
    {
      "action": "include",
      "filter": {"objectNames": ["SALES.ORDERS", "SALES.ORDER_ITEMS"]}
    }
  ],
  "encoding": {
    "json": {
      "$schema": "ogg:outputFormatJson",
      "model": "op",
      "includeJSONSchemaRecord": true,
      "includeObjectMetadataRecords": true,
      "includeStreamMetadataRecord": true,
      "metaFields": {
        "qualifiedTable": true,
        "opType": true,
        "opTs": true,
        "pos": true,
        "xid": true,
        "csn": "csn",
        "opSeqno": "op_seqno",
        "transInd": "trans_ind"
      }
    }
  }
}

Propriedades de configuração de nível superior

A tabela a seguir fornece as propriedades de configuração usadas para configurar o fluxo.

Propriedade Tipo / padrão Descrição
$schema String / ogg:dataStream Identificador do esquema de configuração.
source Objeto/obrigatório Trilha de origem e caminho opcional.
description String/nenhum 1 a 4.096 caracteres que descrevem o Fluxo de Dados.
qualityOfService Enumeração / exactlyOnce atLeastOnce, exactlyOnce ou atMostOnce.
bufferSize Inteiro / 1.048.576 Limite de liberação em bytes. Mínimo 131,072; máximo 10,485,760.
tcpKeepAliveTimeout Inteiro / 120 Timeout de keep-alive do TCP em segundos. Mínimo 1, máximo 10.800.
cloudEventsFormat Booliano / false Ativa envelopes JSON CloudEvents.
rules Array/nenhum 1 a 1.024 incluem ou excluem regras.
encoding String ou objeto / json Use "json" para padrões ou {"json": {...}} para definições de saída avançadas.

Recuperar, atualizar, listar e excluir fluxo de dados

Use a seguinte tabela para gerenciar ou excluir fluxos de dados:

Tarefa Método e caminho Atribuição
Listar streams GET /services/v2/stream Usuário
Obter configuração GET /services/v2/stream/{streamName} Operador
Obter YAML gerado GET /services/v2/stream/{streamName}/yaml Usuário
Atualizar configuração PATCH /services/v2/stream/{streamName} Administrador
Atualizar YAML PATCH /services/v2/stream/{streamName}/yaml Administrador
Excluir fluxo DELETE /services/v2/stream/{streamName} Administrador

Cuidado: Alterar nomes de campo, strings de operação, modelo de registro, filtros ou emissão de esquema altera o contrato do consumidor. Coordene a alteração, controle a versão do contrato e teste de reinicialização de um checkpoint existente antes do lançamento da produção.

Usar o YAML gerado como o contrato implantado

O YAML gerado inclui o servidor específico da implantação, o endereço do canal, o parâmetro de consulta begin, o payload da mensagem e os esquemas de registro suportados. Recupere-o após a criação e após cada alteração de configuração. Armazene uma cópia revisada com a release do consumidor, mas sempre compare-a com a versão de runtime durante a validação da implantação.