0Pricing
Ansible Academy · درس

إرجاع JSON واحترام changed

التزم ببروتوكول نتائج Module

إرجاع JSON واحترام changed درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.

الوحدات تتحدث JSON

عند انتهاء وحدتكم، يجب أن تسلّم Ansible نتيجة بتنسيق JSON. بهذه الطريقة يعرف المتحكم ما حدث على المضيف.

الخروج باستخدام exit_json

استدعوا module.exit_json عند النجاح. فهو يطبع النتيجة بتنسيق JSON وينهي الوحدة بشكل سليم مع رمز الخروج الصحيح.

module.exit_json(changed=True, name='web')

أهمية المفتاح changed

أبلغوا دائمًا عن changed بصدق. فهو يخبر Ansible بما إذا كنتم قد غيّرتم النظام، ويحدد ظهور السطر ok أو changed في المخرجات.

module.exit_json(changed=False)

تحققوا من الحالة قبل التغيير

للالتزام بقيمة changed، اقرأوا الحالة الحالية أولًا. إذا كانت تطابق الهدف بالفعل، فعيّنوا changed=False ولا تُجروا أي تغيير.

if current == desired:
    module.exit_json(changed=False)

إرجاع بيانات إضافية

أضيفوا أي مفاتيح تريدونها إلى exit_json، وستظهر في نتيجة المهمة. ويمكن للمستخدمين تسجيل هذه البيانات وإعادة استخدامها لاحقًا.

module.exit_json(changed=True, user_id=42)

الفشل باستخدام fail_json

عند حدوث خطأ، استدعوا module.fail_json مع رسالة واضحة. ستضع Ansible علامة فشل على المهمة وتعرض النص الذي أرسلتموه.

module.fail_json(msg='API request timed out')

لا تكتفوا بالطباعة

لا تستخدموا print أو raw stdout. تتوقع Ansible كائن JSON النهائي فقط، ولذلك تؤدي أي طباعة إضافية إلى إفساد النتيجة وفشل المهمة.

استدعاء خروج واحد فقط

تنتهي كل وحدة باستدعاء واحد فقط من exit_json أو fail_json. فكلاهما يرفع SystemExit، ولذلك لا يُنفَّذ أي شيء بعدهما.

الرسالة المفيدة تساعد

أدرجوا msg ودية في نتائجكم توضّح ما قمتم به. فالرسائل الجيدة تحوّل عمليات التشغيل المربكة إلى نتائج واضحة وسهلة القراءة.

module.exit_json(changed=True, msg='Created user web')

حاكوا سلوك الوحدات المضمّنة

اجعلوا مخرجاتكم شبيهة بمخرجات الوحدات الأساسية: أبلغوا عن changed، وأعيدوا حقولًا ذات معنى، وأظهروا سبب الفشل بوضوح. فالاتساق يبني الثقة.

النتيجة تحرّك كل شيء

تقرأ المعالجات والشروط والمتغيرات المسجّلة كائن JSON الخاص بكم. ويضمن ضبط changed بشكل صحيح أن تكون وحدتكم مواطنًا صالحًا في Ansible.

تحقق سريع

فكّروا في ما ينبغي أن تُبلغه وحدتكم عندما لا يتم تعديل أي شيء.

مراجعة

أنهوا التنفيذ باستخدام exit_json عند النجاح أو fail_json عند الخطأ، وأبلغوا عن changed بصدق، ولا تطبعوا مخرجات خامًا. هذا هو بروتوكول نتائج الوحدة. 📦

الأسئلة الشائعة

هل درس «إرجاع JSON واحترام changed» مجاني؟

نعم — نص درس «إرجاع JSON واحترام changed» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.

ماذا ستتعلم في «إرجاع JSON واحترام changed»؟

التزم ببروتوكول نتائج Module تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟

لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إرجاع JSON واحترام changed»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟

نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. متى تنشئ Module مخصّصة
  2. AnsibleModule ومواصفات الوسائط
  3. إرجاع JSON واحترام changed
  4. دعم Check Mode في Module الخاصة بك
← العودة إلى Ansible Academy