Member since
06-26-2015
515
Posts
137
Kudos Received
114
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
2092 | 09-20-2022 03:33 PM | |
5733 | 09-19-2022 04:47 PM | |
3104 | 09-11-2022 05:01 PM | |
3443 | 09-06-2022 02:23 PM | |
5441 | 09-06-2022 04:30 AM |
02-22-2022
02:19 AM
1 Kudo
Hi, @mehmetersoy , CDP does include Druid libraries, which are required by other components, but starting Druid as a standalone service is not possible and is not supported. Cheers, André
... View more
02-21-2022
04:42 PM
1 Kudo
Hi, @hamsterrrrr , Could you please check (and share) status for each one of the roles in the HDFS service? The endpoint /api/v40/clusters/cluster/services/hdfs/roles should give you this data. I'd like to understand what's the underlying issue in this case. André
... View more
02-21-2022
03:59 PM
Hi, @georg , You can, for example, use the GenerateFlowFile processor to create a new flowfile from scratch with the content that you need to send. If you already have a flowfile that you are in the middle of processing, you could, for example, use ReplaceText to modify the content of that flowfile so that it conforms with what your PUT request needs to send. Regards, André
... View more
02-21-2022
03:56 PM
@spserd , You're right. The Kafka 0.10 and 0.11 connectors are very old have been discontinued. Cheers, André
... View more
02-21-2022
03:51 PM
Hi, @lyminh , If you using self-signed certificates you typically have to add them to the truststore. When I say "self-signed", it means that the Subject and the Issuer of the certificate are the same. If you have a CA root (without or without the intermediate) your server certificates are *not* self-signed. They are signed by the CA. In this case the only self-signed certificate is the root. In this scenario, you don't need to put the certificates in the truststore; only the Root CA. The *key*store used by EFM and by MiNiFi, should contain the server certificate AND the intermediate certificate (if there's one). HTH, André
... View more
02-20-2022
08:55 PM
Hi @georg , If you want to send content in the body of a POST or PUT call using InvokeHTTP, you typically create a flowfile with the content that you want to send and feed that to the InvokeHTTP processor, setting its "Send Message Body" attribute to "true" (default). The InvokeHTTP will sent the content of the incoming flowfile as the body of the HTTP request. Cheers, André
... View more
02-20-2022
05:31 PM
I've added a "remove" operation to the chain to solve the problem I mentioned in the last post, removing the "null" in the first position of the "measures" array: [
{
"operation": "shift",
"spec": {
"LevelID": "assetId",
"PLCTime": "datapoints[0].timestamp",
"Data*Type": "datapoints[0].measures[&(0,1)].name",
"Data*": "datapoints[0].measures[&(0,1)].value"
}
},
{
"operation": "remove",
"spec": {
"datapoints": {
"*": {
"measures": {
"0": ""
}
}
}
}
}
] This should give you the exact output you were looking for. HTH, André
... View more
02-20-2022
03:39 AM
The spec below does almost what you need. The only thing is that your data points are numbered starting from 1 and JSON array are zero-based, so when the Jolt transformation is applied the first element of the "measures" array is left null. [
{
"operation": "shift",
"spec": {
"LevelID": "assetId",
"PLCTime": "datapoints[0].timestamp",
"Data*Type": "datapoints[0].measures[&(0,1)].name",
"Data*": "datapoints[0].measures[&(0,1)].value"
}
}
] Cheers André
... View more
02-20-2022
03:22 AM
Hi, @abhai , Please check my response to this question. It may also address yours. Regards, André
... View more
02-20-2022
03:21 AM
1 Kudo
Hi, @Nandy113 , One way to achieve this is to use the Wait/Notify pattern in NiFi, as shown below: The original flowfile is routed to a Wait processor, where it's going to wait until the authentication token is obtained. The same flowfile is also routed to a ReplaceText processor where its content is replaced with the body content to obtain the access token. The InvokeHTTP processor on the right then makes the call to authenticate and get the token. The response (token) is stored in a "token" attribute of the original flowfile due to the following setting: Note that the output relationship of that process is "Original" rather than "Response". That flowfile is then sent to a Notify processor, which will send a notification to the Wait processor to continue to process the flowfile that was waiting. Both the Wait and the Notify processors are configured with the following, so that the authentication for each flowfile notifies the corresponding one that's waiting: The notify process also has the following setting, which will cause the token to be put in the distributed cache and copied to the flowfile that's waiting: Once the flowfile is released from the wait, it will have the token attribute, and then we can use that token on the following InvokeHttp processor to authenticate with the server by setting the following header with a dynamic property: HTH, André
... View more