আনসিবল (Ansible)

REST API কল করা এবং JSON ডেটা ব্যবহার

Latest Technologies - আনসিবল (Ansible) - অ্যাডভান্সড Ansible টপিকস | NCTB BOOK

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 রিকোয়েস্ট করে বিভিন্ন সেবা এবং প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে পারেন। এটি আপনার প্লেবুকগুলিকে আরও ডাইনামিক এবং ফ্লেক্সিবল করে তোলে।

Promotion