UpdateDatabaseTable 2025.5.31.15¶
Pacote¶
org.apache.nifi | nifi-standard-nar
Descrição¶
Esse processador usa uma conexão JDBC e registros de entrada para gerar quaisquer alterações na tabela do banco de dados necessárias para oferecer suporte aos registros de entrada. Ele espera um layout de registro “nivelado”, o que significa que nenhum dos campos de registro de nível superior tem campos aninhados que se destinam a se tornar colunas.
Requisito de entrada¶
REQUIRED
Oferece suporte a propriedades dinâmicas confidenciais¶
falso
Propriedades¶
Propriedade |
Descrição |
---|---|
Padrão de tradução de nome de coluna |
O nome da coluna será normalizado com esta expressão regular |
Estratégia de tradução de nome de coluna |
A estratégia usada para normalizar o nome da coluna de tabela. O nome da coluna será em letras maiúsculas para fazer a correspondência sem distinção entre maiúsculas e minúsculas, independentemente da estratégia |
Serviço de dialeto de banco de dados |
Serviço de dialeto de banco de dados para gerar instruções específicas para um determinado serviço ou fornecedor. |
db-type |
O tipo de banco de dados para gerar instruções específicas de um determinado serviço ou fornecedor. O tipo genérico oferece suporte à maioria dos casos, mas selecionar um tipo específico permite um processamento otimizado ou recursos adicionais. |
record-reader |
O serviço para leitura de FlowFiles de entrada. O leitor é usado apenas para determinar o esquema dos registros; os registros reais não serão processados. |
updatedatabasetable-catalog-name |
O nome do catálogo que a instrução deve atualizar. Isso pode não se aplicar ao banco de dados que você está atualizando. Nesse caso, deixe o campo vazio. Observe que, se a propriedade estiver definida e o banco de dados diferenciar maiúsculas de minúsculas, o nome do catálogo deverá corresponder exatamente ao nome do catálogo do banco de dados. |
updatedatabasetable-create-table |
Especifica como processar a tabela de destino quando ela não existir (criá-la, falhar, por exemplo). |
updatedatabasetable-dbcp-service |
O Controller Service usado para obter conexão(ões) com o banco de dados |
updatedatabasetable-primary-keys |
Uma lista de nomes de campos de registro separados por vírgulas que identifica exclusivamente uma linha no banco de dados. Essa propriedade só é usada se a tabela especificada precisar ser criada; nesse caso, os Campos de chave primária (Primary Key Fields) serão usados para especificar as chaves primárias da tabela recém-criada. Importante: os campos de chave primária devem corresponder exatamente aos nomes de campo do registro, a menos que a opção “Citar identificadores de coluna” seja falsa e o banco de dados permita nomes de coluna que não diferenciem maiúsculas de minúsculas. Na prática, é melhor especificar campos de chave primária que correspondam exatamente aos nomes de campos de registro, e esses se tornarão os nomes das colunas na tabela criada. |
updatedatabasetable-query-timeout |
Define o número de segundos que o driver aguardará a execução de uma consulta. Um valor de 0 significa que não há tempo limite. NOTE: valores diferentes de zero podem não ser compatíveis com o driver. |
updatedatabasetable-quoted-column-identifiers |
A ativação dessa opção fará com que todos os nomes de coluna sejam colocados entre aspas, permitindo que você use palavras reservadas como nomes de coluna em suas tabelas e/ou forçando os nomes de campo de registro a corresponder exatamente aos nomes de coluna. |
updatedatabasetable-quoted-table-identifiers |
A ativação dessa opção fará com que o nome da tabela seja citado para oferecer suporte ao uso de caracteres especiais no nome da tabela e/ou forçará o valor da propriedade Table Name a corresponder exatamente ao nome da tabela de destino. |
updatedatabasetable-record-writer |
Especifica o Controller Service a ser usado para gravar resultados em um FlowFile. O Record Writer deve usar Herança de esquema (Inherit Schema) para emular o comportamento do esquema inferido, ou seja, um esquema explícito não precisa ser definido no gravador e será fornecido pela mesma lógica usada para inferir o esquema a partir dos tipos de coluna. Se a estratégia de criação de tabela estiver definida como “Criar se não existir” (Create If Not Exists), o formato de saída do Record Writer deverá corresponder ao formato do Record Reader para que os dados sejam colocados no local da tabela criada. Observe que essa propriedade só é usada se a opção “Atualizar nomes de campo” (Update Field Names) estiver definida como verdadeira e os nomes dos campos não corresponderem exatamente aos nomes de coluna. Se não for necessária nenhuma atualização para nenhum nome de campo (ou se “Atualizar nomes de campo” for falso), o Record Writer não será usado e, em vez disso, o FlowFile de entrada será encaminhado para success ou failure sem modificações. |
updatedatabasetable-schema-name |
O nome do esquema do banco de dados ao qual a tabela pertence. Isso pode não se aplicar ao banco de dados que você está atualizando. Nesse caso, deixe o campo vazio. Observe que, se a propriedade for definida e o banco de dados diferenciar maiúsculas de minúsculas, o nome do esquema deverá corresponder exatamente ao nome do esquema do banco de dados. |
updatedatabasetable-table-name |
O nome da tabela do banco de dados a ser atualizada. Se a tabela não existir, ela será criada ou será lançado um erro, dependendo do valor da propriedade Criar tabela. |
updatedatabasetable-translate-field-names |
Se for verdadeiro, o processador tentará traduzir os nomes de campo para os nomes de coluna correspondentes da tabela especificada, com o objetivo de determinar se o nome do campo existe como uma coluna na tabela de destino. NOTE: Se a tabela de destino não existir e tiver que ser criada, essa propriedade será ignorada e os nomes dos campos serão usados no estado em que se encontram. Se falso, os nomes dos campos deverão corresponder exatamente aos nomes das colunas; caso contrário, a coluna poderá não ser encontrada e, em vez disso, será relatado um erro informando que a coluna já existe. |
updatedatabasetable-update-field-names |
Essa propriedade indica se o esquema de saída deve ser atualizado de modo que os nomes dos campos sejam definidos com os nomes exatos das colunas da tabela especificada. Isso deve ser usado se os nomes de campo do registro de entrada não corresponderem aos nomes de coluna da tabela em termos de letras maiúsculas e minúsculas. Por exemplo, essa propriedade deve ser definida como verdadeira se o FlowFile de saída for destinado ao Oracle, por exemplo, que espera que os nomes dos campos correspondam exatamente aos nomes de coluna. NOTE: o valor da propriedade Traduzir nomes de campo (Translate Field Names) é ignorado ao atualizar os nomes de campo; em vez disso, eles são atualizados para corresponder ao nome da coluna conforme retornado pelo banco de dados. |
Relações¶
Nome |
Descrição |
---|---|
failure |
Um FlowFile contendo registros encaminhados para essa relação se o registro não puder ser transmitido ao banco de dados. |
success |
Um FlowFile contendo registros encaminhados para essa relação após o registro ter sido transmitido com sucesso ao banco de dados. |
Grava atributos¶
Nome |
Descrição |
---|---|
output.table |
Esse atributo é gravado nos FlowFiles roteados para as relações “success” e “failure” e contém o nome da tabela de destino. |
output.path |
Esse atributo é gravado nos FlowFiles encaminhados para as relações “success” e “failure” e contém o caminho no sistema de arquivos para a tabela (ou o local da partição, se a tabela for particionada). |
mime.type |
Define o atributo mime.type como o tipo MIME especificado pelo Record Writer, somente se um Record Writer for especificado e Update Field Names (Atualizar nomes de campo) for “true”. |
record.count |
Define o número de registros no FlowFile, somente se um Record Writer for especificado e Update Field Names (Atualizar nomes de campo) for “true”. |