PutSQL 2025.10.2.19¶
Pacote¶
org.apache.nifi | nifi-standard-nar
Descrição¶
Executes a SQL UPDATE or INSERT command. The content of an incoming FlowFile is expected to be the SQL command to execute. The SQL command may use the ? to escape parameters. In this case, the parameters to use must exist as FlowFile attributes with the naming convention sql.args. N.type and sql.args. N.value, where N is a positive integer. The sql.args. N.type is expected to be a number indicating the JDBC Type. The content of the FlowFile is expected to be in UTF-8 format.
Requisito de entrada¶
REQUIRED
Oferece suporte a propriedades dinâmicas confidenciais¶
falso
Propriedades¶
Propriedade |
Descrição |
|---|---|
Tamanho do lote |
O número preferencial de FlowFiles a ser colocado no banco de dados em uma única transação |
Pool de conexões JDBC |
Especifica o pool de conexões JDBC a ser usado para converter a mensagem JSON em uma instrução SQL. O pool de conexões é necessário para determinar os tipos de colunas apropriados do banco de dados. |
Obter chaves geradas |
Se verdadeiro, qualquer chave gerada automaticamente pelo banco de dados será adicionada ao FlowFile que a gerou usando o atributo sql.generate.key. Isso pode resultar em um desempenho um pouco mais lento e não é compatível por todos os bancos de dados. |
Suporte a transações fragmentadas |
If true, when a FlowFile is consumed by this Processor, the Processor will first check the fragment.identifier and fragment.count attributes of that FlowFile. If the fragment.count value is greater than 1, the Processor will not process any FlowFile with that fragment.identifier until all are available; at that point, it will process all FlowFiles with that fragment.identifier as a single transaction, in the order specified by the FlowFiles “fragment.index attributes. This Provides atomicity of those SQL statements. Once any statement of this transaction throws exception when executing, this transaction will be rolled back. When transaction rollback happened, none of these FlowFiles would be routed to’success “. If the <Rollback On Failure> is set true, these FlowFiles will stay in the input relationship. When the <Rollback On Failure> is set false,, if any of these FlowFiles will be routed to” retry “, all of these FlowFiles will be routed to” retry “.Otherwise, they will be routed to” failure”. If this value is false, these attributes will be ignored and the updates will occur independent of one another. |
Tempo limite da transação |
Se a propriedade <Suporte a transações fragmentadas> estiver definida como verdadeiro, especifica quanto tempo deve ser aguardado para que todos os FlowFiles de um determinado atributo fragment.identifier cheguem antes de transferir todos os FlowFiles com esse identificador para a relação “failure” |
database-session-autocommit |
O modo de autocommit a ser definido na conexão de banco de dados que está sendo usada. Se for definido como falso, a(s) operação(ões) será(ão) explicitamente confirmada(s) ou revertida(s) (com base no sucesso ou na falha, respectivamente); se for definido como verdadeiro, o driver/banco de dados tratará da confirmação/reversão. |
putsql-sql-statement |
A instrução SQL a ser executada. A instrução pode estar vazia, ser um valor constante ou ser criada a partir de atributos usando Expression Language. Se essa propriedade for especificada, ela será usada independentemente do conteúdo do FlowFiles de entrada. Se essa propriedade estiver vazia, espera-se que o conteúdo do FlowFile de entrada contenha uma instrução SQL válida, a ser emitida pelo processador para o banco de dados. |
rollback-on-failure |
Specify how to handle error. By default (false), if an error occurs while processing a FlowFile, the FlowFile will be routed to “failure” or “retry” relationship based on error type, and processor can continue with next FlowFile. Instead, you may want to rollback currently processed FlowFiles and stop further processing immediately. In that case, you can do so by enabling this “Rollback On Failure” property. If enabled, failed FlowFiles will stay in the input relationship without penalizing it and being processed repeatedly until it gets processed successfully or removed by other means. It is important to set adequate “Yield Duration” to avoid retrying too frequently. |
Relações¶
Nome |
Descrição |
|---|---|
failure |
Um FlowFile é encaminhado para essa relação se o banco de dados não puder ser atualizado e se a nova tentativa de operação também falhar, como uma consulta inválida ou uma violação de restrição de integridade |
retry |
Um FlowFile é encaminhado para essa relação se o banco de dados não puder ser atualizado, mas a tentativa de repetição da operação pode ser bem-sucedida |
success |
Um FlowFile é encaminhado para essa relação depois que o banco de dados é atualizado com sucesso |
Grava atributos¶
Nome |
Descrição |
|---|---|
sql.generated.key |
Se o banco de dados tiver gerado uma chave para uma instrução INSERT e a propriedade Obtain Generated Keys estiver definida como verdadeira, esse atributo será adicionado para indicar a chave gerada, se possível. Esse recurso não é compatível com todos os fornecedores de banco de dados. |