Criar e Gerenciar Fluxos de Dados
Criar um Fluxo de Dados a partir da interface do usuário
-
No painel de navegação esquerdo, selecione Data Streams para abrir a página do serviço Data Streams.
-
Clique no botão Adicionar Fluxo de Dados. A caixa de diálogo Adicionar fluxo de dados é exibida.

-
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.

-
Adicione a descrição ao proprietário da empresa, à trilha de origem, às tabelas, ao consumidor e ao objetivo de recuperação.
-
Na página Opções de Origem, forneça os valores das opções mostradas na seguinte imagem:

-
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,atLeastOnceouatMostOnce.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/ABENDnas 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/ABENDna 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/ABENDna 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.
-
-
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:

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.
-
Clique em Criar Fluxo de Dados. Você retornará à home page do Serviço de Distribuição na qual o Fluxo de Dados está listado.
-
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:
-
No painel de navegação esquerdo, clique em Data Streams.
-
Selecione o nome do fluxo de dados que precisa ser modificado.
-
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.

-
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).
-
Clique em Adicionar para aplicar a filtragem.
-
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.