অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী এবং নমনীয় ডেটা ফ্লো প্ল্যাটফর্ম যা ডেটা সংগ্রহ, প্রক্রিয়াকরণ, এবং রুটিং সহজ করে তোলে। NiFi ব্যবহারকারীরা গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ব্যবহার করে ডেটা ফ্লো ডিজাইন করতে পারেন, তবে NiFi এর REST API ব্যবহার করে Process Group এবং Processors পরিচালনা করা আরও অটোমেটেড এবং স্কেলেবল পদ্ধতিতে সম্ভব। REST API ব্যবহার করে NiFi এর বিভিন্ন উপাদান যেমন Process Group এবং Processors কে তৈরি, কনফিগার, স্টার্ট, স্টপ বা রিস্টার্ট করা যায়, যা সিস্টেম প্রশাসকদের জন্য খুবই কার্যকরী।
NiFi এর REST API একটি HTTP ভিত্তিক ইন্টারফেস সরবরাহ করে, যা আপনাকে বিভিন্ন কার্যকলাপ যেমন Processors তৈরি করা, কনফিগার করা এবং চালানো ইত্যাদি করতে সহায়ক। এখানে আলোচনা করা হবে কীভাবে NiFi এর Process Group এবং Processors API এর মাধ্যমে পরিচালনা করা যায়।
GetFile
, PutFile
, ExtractText
, ইত্যাদি প্রসেসর ডেটা সংগ্রহ, ট্রান্সফরমেশন বা রুটিং করতে ব্যবহৃত হয়।Process Group তৈরি বা পরিচালনা করতে NiFi REST API এর /process-groups
এন্ডপয়েন্ট ব্যবহার করা হয়। এখানে Process Group তৈরি, দেখতে, এবং পরিবর্তন করার জন্য কিছু মৌলিক API রিকোয়েস্ট উদাহরণ দেয়া হলো:
curl -X POST "http://localhost:8080/nifi-api/process-groups/{parent-id}/process-groups" \
-H "Content-Type: application/json" \
-d '{
"name": "New Process Group",
"position": {"x": 100, "y": 200}
}'
{parent-id}
হল প্যারেন্ট Process Group এর ID, যেখানে আপনি নতুন Process Group তৈরি করতে চান।name
প্রপার্টি নতুন Process Group এর নাম নির্দেশ করে।position
প্রপার্টি গ্রাফিক্যাল UI তে Process Group এর অবস্থান নির্ধারণ করে।curl -X GET "http://localhost:8080/nifi-api/process-groups/{group-id}"
{group-id}
হল Process Group এর ID, যেটি আপনি দেখতে চান।Processors তৈরি এবং পরিচালনা করার জন্য /processors
এন্ডপয়েন্ট ব্যবহার করা হয়। NiFi API এর মাধ্যমে Processor তৈরি, কনফিগার এবং পরিচালনা করা যায়।
curl -X POST "http://localhost:8080/nifi-api/process-groups/{group-id}/processors" \
-H "Content-Type: application/json" \
-d '{
"component": {
"type": "org.apache.nifi.processors.standard.GetFile",
"name": "Get File Processor",
"position": {"x": 100, "y": 300}
}
}'
{group-id}
হল সেই Process Group এর ID যেখানে Processor তৈরি করা হবে।type
প্রপার্টি দিয়ে Processor এর টাইপ নির্ধারণ করা হয়, যেমন GetFile
Processor।curl -X GET "http://localhost:8080/nifi-api/processors/{processor-id}"
{processor-id}
হল Processor এর ID, যা আপনি দেখতে চান।Processor চালানোর জন্য এবং বন্ধ করার জন্য আপনাকে API রিকোয়েস্ট পাঠাতে হবে। উদাহরণস্বরূপ:
curl -X PUT "http://localhost:8080/nifi-api/processors/{processor-id}/run-status" \
-H "Content-Type: application/json" \
-d '{"state":"RUNNING"}'
curl -X PUT "http://localhost:8080/nifi-api/processors/{processor-id}/run-status" \
-H "Content-Type: application/json" \
-d '{"state":"STOPPED"}'
state
প্রপার্টি RUNNING
বা STOPPED
হিসেবে সেট করা হয় Processor চালাতে বা বন্ধ করতে।Processor কনফিগারেশন পরিবর্তন করতে আপনাকে /processors/{processor-id}
এন্ডপয়েন্টে একটি PUT রিকোয়েস্ট পাঠাতে হবে:
curl -X PUT "http://localhost:8080/nifi-api/processors/{processor-id}" \
-H "Content-Type: application/json" \
-d '{
"component": {
"id": "{processor-id}",
"config": {
"properties": {
"Input Directory": "/new/directory/path"
}
}
}
}'
{processor-id}
হল Processor এর ID এবং properties
প্রপার্টি দিয়ে Processor এর কনফিগারেশন পরিবর্তন করা হয়।কখনো কখনো আপনি একটি Process Group বা Processor বন্ধ এবং রিস্টার্ট করতে চাইবেন। REST API এর মাধ্যমে এটি করা সম্ভব।
curl -X PUT "http://localhost:8080/nifi-api/process-groups/{group-id}/run-status" \
-H "Content-Type: application/json" \
-d '{"state":"STOPPED"}'
curl -X PUT "http://localhost:8080/nifi-api/process-groups/{group-id}/run-status" \
-H "Content-Type: application/json" \
-d '{"state":"RUNNING"}'
NiFi REST API ব্যবহার করে Process Group এবং Processor পরিচালনা করা একটি অত্যন্ত কার্যকরী পদ্ধতি, যা অটোমেশন, স্কেলেবিলিটি, এবং কার্যকরী সিস্টেম প্রশাসন নিশ্চিত করে। এটি সিস্টেমের প্রশাসক এবং ডেভেলপারদের জন্য অত্যন্ত সহায়ক, বিশেষত যখন ডেটা ফ্লো এবং প্রসেসিং প্রক্রিয়ার বড় পরিসরের অপারেশন প্রয়োজন।
common.read_more