Impostazione e richiamo delle proprietà dell'intestazione personalizzata Kafka
Puoi utilizzare le proprietà dell'intestazione personalizzata Kafka per associare metadati a un messaggio Kafka .
Prima di iniziare
Informazioni su questa attività
Kafka le proprietà di intestazione personalizzate consentono di aggiungere metadati al messaggio Kafka, che possono essere utilizzati durante l'elaborazione del messaggio. Ad esempio, le proprietà dell'intestazione possono contenere informazioni sul formato dei dati, come il nome dello schema.
Le proprietà dell'intestazione personalizzata di Kakfa sono un insieme di coppie name:value , che possono essere associate a un messaggio Kafka quando viene pubblicato e poi recuperate quando il messaggio viene recuperato. IBM App Connect Enterprise supporta le proprietà dell'intestazione Kafka, costituite da un nome in formato stringa Java e da un valore.
Le proprietà sono impostate nell'ambiente locale, in una cartella denominata KafkaHeader. Per il nodo KafkaProducer tutti i valori delle proprietà, eccetto i valori BLOB, vengono trasformati in stringhe UTF-8 prima che i byte vengano memorizzati nella proprietà header del messaggio Kafka. Per i valori BLOB, i byte vengono memorizzati nella proprietà header del messaggio Kafka senza essere trasformati. Per KafkaConsumer e KafkaRead i valori delle proprietà dell'intestazione nel messaggio ricevuto vengono convertiti in valori stringa quando vengono scritti nell'Ambiente locale, per impostazione predefinita. Per ricevere i valori come byte invece che come stringhe, impostare la proprietà Header scheme del nodo su Bytes.
Environment.Destination.Kafka.Output.KafkaHeader Local Environment. Ad esempio:# To set Kafka custom header properties called 'Name' and 'Occupation'
SET OutputLocalEnvironment.Destination.Kafka.Output.KafkaHeader.Name = 'Bob';
SET OutputLocalEnvironment.Destination.Kafka.Output.KafkaHeader.Occupation = 'Builder';LocalEnvironment.Kafka.Input viene aggiornata con le proprietà delle intestazioni personalizzate contenute nel messaggio ricevuto, che può essere elaborato da un nodo di calcolo. Ad esempio: # To retrieve the value of the custom header property called 'Name'
SET Name = InputLocalEnvironment.Kafka.Input.KafkaHeader.Name;LocalEnvironment.Kafka.Read viene aggiornata con le proprietà delle intestazioni personalizzate contenute nel messaggio ricevuto, che può essere elaborato da un nodo di calcolo. Ad esempio:# To retrieve the value of the custom header property called 'Occupation'
SET Occupation = InputLocalEnvironment.Kafka.Read.KafkaHeader.Occupation;
Per informazioni sulle proprietà che possono essere sovrascritte dinamicamente nel flusso, consulta Utilizzo delle variabili di ambiente locali con nodi Kafka.