Ansible ব্যবহার করে REST API কল করা এবং JSON ডেটা পরিচালনা করা অত্যন্ত কার্যকরী একটি উপায়, যা আপনাকে বিভিন্ন সেবা ও প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে সাহায্য করে। Ansible এ REST API কল করার জন্য মূলত uri মডিউল ব্যবহার করা হয়।
REST API কল করা
১. URI মডিউল ব্যবহার করা
Ansible এ uri মডিউল ব্যবহার করে HTTP(S) প্রোটোকল এর মাধ্যমে REST API কল করা হয়। এটি GET, POST, PUT, DELETE ইত্যাদি HTTP মেথড সমর্থন করে।
উদাহরণ: GET রিকোয়েস্ট
নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি GET রিকোয়েস্ট করা হয়েছে একটি পাবলিক API এর মাধ্যমে:
---
- name: Get user information from a public API
hosts: localhost
tasks:
- name: Fetch user data
uri:
url: https://jsonplaceholder.typicode.com/users/1
method: GET
return_content: yes
register: user_data
- name: Show user data
debug:
var: user_data.json
ব্যাখ্যা:
- url: API এর URL উল্লেখ করা হয়েছে।
- method: HTTP মেথড নির্দেশ করে, এখানে GET ব্যবহার করা হয়েছে।
- return_content: যদি
yesথাকে, তবে API থেকে প্রাপ্ত সমস্ত কন্টেন্ট ফেরত দেবে। - register: API এর প্রতিক্রিয়া
user_dataভ্যারিয়েবলে সংরক্ষণ করা হয়েছে।
JSON ডেটা ব্যবহার করা
২. POST রিকোয়েস্ট সহ JSON ডেটা প্রেরণ করা
নিচে একটি উদাহরণ দেওয়া হলো যেখানে POST রিকোয়েস্ট সহ JSON ডেটা প্রেরণ করা হয়েছে:
---
- name: Create a new post using a public API
hosts: localhost
tasks:
- name: Create a new post
uri:
url: https://jsonplaceholder.typicode.com/posts
method: POST
headers:
Content-Type: application/json
body: |
{
"title": "foo",
"body": "bar",
"userId": 1
}
body_format: json
return_content: yes
register: response
- name: Show the response
debug:
var: response.json
ব্যাখ্যা:
- headers: HTTP হেডারস, যেখানে
Content-Typeসেট করা হয়েছেapplication/json। - body: JSON ডেটা এখানে সরাসরি উল্লেখ করা হয়েছে।
- body_format: JSON ডেটার ফরম্যাট উল্লেখ করে, যাতে Ansible এটি সঠিকভাবে প্রক্রিয়া করতে পারে।
৩. PUT এবং DELETE রিকোয়েস্ট
এছাড়াও, আপনি PUT এবং DELETE রিকোয়েস্ট করার জন্য একই uri মডিউল ব্যবহার করতে পারেন।
PUT রিকোয়েস্ট
- name: Update a post
uri:
url: https://jsonplaceholder.typicode.com/posts/1
method: PUT
headers:
Content-Type: application/json
body: |
{
"id": 1,
"title": "updated title",
"body": "updated body",
"userId": 1
}
body_format: json
return_content: yes
register: update_response
- name: Show update response
debug:
var: update_response.json
DELETE রিকোয়েস্ট
- name: Delete a post
uri:
url: https://jsonplaceholder.typicode.com/posts/1
method: DELETE
return_content: yes
register: delete_response
- name: Show delete response
debug:
var: delete_response
উপসংহার
Ansible এর uri মডিউল ব্যবহার করে REST API কল করা এবং JSON ডেটা ব্যবহার করা অত্যন্ত সহজ এবং কার্যকর। আপনি GET, POST, PUT, এবং DELETE রিকোয়েস্ট করে বিভিন্ন সেবা এবং প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে পারেন। এটি আপনার প্লেবুকগুলিকে আরও ডাইনামিক এবং ফ্লেক্সিবল করে তোলে।
Read more