Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Can I start a processgroup using rest-api

avatar
Super Collaborator

Hi,

I am able to start/stop processors using rest-api, can we do the same to process groups? The GET api doesn't show any status tag. What is the JSON we can POST to start/stop it?

Thanks,

Avijeet

{ "revision": { "version": 0 }, "id": "8619c3f4-0158-1000-a750-24884f23ea60", "uri": "http://localhsot:8080/nifi-api/process-groups/8619c3f4-0158-1000-a750-24884f23ea60", "position": { "x": 0, "y": 0 }, "permissions": { "canRead": true, "canWrite": true }, "bulletins": [], "component": { "id": "8619c3f4-0158-1000-a750-24884f23ea60", "position": { "x": 0, "y": 0 }, "name": "NiFi Flow", "comments": "", "runningCount": 0, "stoppedCount": 7, "invalidCount": 0, "disabledCount": 0, "activeRemotePortCount": 0, "inactiveRemotePortCount": 0, "inputPortCount": 0, "outputPortCount": 0 }, "status": { "id": "8619c3f4-0158-1000-a750-24884f23ea60", "name": "NiFi Flow", "statsLastRefreshed": "06:00:52 UTC", "aggregateSnapshot": { "id": "8619c3f4-0158-1000-a750-24884f23ea60", "name": "NiFi Flow", "flowFilesIn": 0, "bytesIn": 0, "input": "0 (0 bytes)", "flowFilesQueued": 36, "bytesQueued": 1536, "queued": "36 (1.5 KB)", "queuedCount": "36", "queuedSize": "1.5 KB", "bytesRead": 296384, "read": "289.44 KB", "bytesWritten": 209649, "written": "204.74 KB", "flowFilesOut": 0, "bytesOut": 0, "output": "0 (0 bytes)", "flowFilesTransferred": 1519, "bytesTransferred": 592128, "transferred": "1,519 (578.25 KB)", "bytesReceived": 92325, "flowFilesReceived": 75, "received": "75 (90.16 KB)", "bytesSent": 0, "flowFilesSent": 0, "sent": "0 (0 bytes)", "activeThreadCount": 0 } }, "runningCount": 0, "stoppedCount": 7, "invalidCount": 0, "disabledCount": 0, "activeRemotePortCount": 0, "inactiveRemotePortCount": 0, "inputPortCount": 0, "outputPortCount": 0 }

1 ACCEPTED SOLUTION

avatar

Hi @Avijeet Dash

Yes, you can do the same to process groups. Please refer NiFi Rest Api PUT /flow/processor-groups/{id} endpoint.

You can start a process group by sending PUT request to the endpoint a JSON like this:

{"id":"cda85e6e-0158-1000-150a-cb88f801e860","state":"RUNNING"}

Hope this helps,

Koji

View solution in original post

4 REPLIES 4

avatar

Hi @Avijeet Dash

Yes, you can do the same to process groups. Please refer NiFi Rest Api PUT /flow/processor-groups/{id} endpoint.

You can start a process group by sending PUT request to the endpoint a JSON like this:

{"id":"cda85e6e-0158-1000-150a-cb88f801e860","state":"RUNNING"}

Hope this helps,

Koji

avatar
Super Collaborator

@kkawamura

I tried this but got - Message body is malformed. Unable to map into expected format.

Also in GET resonse I don't see any "state" tag

avatar

@Avijeet Dash

I was able to start a process group with following cURL command:

curl -i -H 'Content-Type: application/json' -XPUT -d '{"id":"cdb54c9a-0158-1000-5566-c45ca9692f85","state":"RUNNING"}' localhost:8080/nifi-api/flow/process-groups/cdb54c9a-0158-1000-5566-c45ca9692f85

Is there any difference with your request? I think GET response doesn't contain 'state' element because a process group doesn't have its own state, just a container of child processors.

avatar
Super Collaborator

Hi, thanks it worked, I was using a URL like below...then noticed the 'flow', used it and worked fine.

localhost:8080/nifi-api/process-groups/cdb54c9a-0158-1000-5566-c45ca9692f85