digna CLI Reference 2025.04¶
2025-04-01
توثّق هذه الصفحة مجموعة الأوامر الكاملة المتاحة في واجهة سطر الأوامر digna لإصدار 2025.04، بما في ذلك أمثلة الاستخدام والخيارات.
أساسيات واجهة سطر الأوامر¶
استخدام خيار help¶
يوفّر الخيار --help معلومات حول الأوامر المتاحة وطريقة استخدامها. هناك طريقتان رئيسيتان لاستخدام هذا الخيار:
-
عرض المساعدة العامة:
استخدم –help مباشرة بعد الكلمة المفتاحية dignacl
```bash dignacli --help -
الحصول على مساعدة لأمر محدد:
للحصول على معلومات مفصّلة حول أمر معيّن، أضف
--helpإلى ذلك الأمر. على سبيل المثال، للحصول على مساعدة حول أمرadd-user، نفّذ:dignacli add-user --help### المخرجات:
- وصف الأمر: يقدّم وصفًا تفصيليًا لما يقوم به الأمر.
- الصياغة (Syntax): تعرض الصيغة الدقيقة، بما في ذلك الوسائط المطلوبة والاختيارية.
- الخيارات: تسرد أي خيارات خاصة بالأمر مع تفسيراتها.
- الأمثلة: تقدّم أمثلة عن كيفية تنفيذ الأمر بفعالية.
استخدام أمر check-repo-connection¶
أمر check-repo-connection هو أداة ضمن واجهة سطر الأوامر digna مصمّمة لاختبار الاتصال والوصول إلى مستودع digna محدد. يضمن هذا الأمر أن الواجهة قادرة على التفاعل مع المستودع.
صيغة الأمر¶
dignacli check-repo-connection
عند التنفيذ الناجح، يعرض الأمر تأكيدًا للاتصال، مع تفاصيل عن المستودع: إصدار المستودع، المضيف، قاعدة البيانات والمخطط (Schema).
إذا لم يكن اتصال المستودع ناجحًا، فتحقّق من ملف config.toml لضمان صحة إعدادات التكوين.
استخدام أمر ‘version’¶
للتحقق من إصدار dignacli المثبّت، استخدم الخيار --version.
صيغة الأمر¶
dignacli --version
مثال للمخرجات¶
dignacli version 2025.04
استخدام خيارات التسجيل (logging)¶
افتراضيًا، يكون مخرَج الكونsole لأوامر digna مُصمَّمًا ليكون مختصرًا. تتيح معظم الأوامر إمكانية عرض معلومات إضافية باستخدام الخيارات التالية:
-- verbose (-v)
-- debug (-d)
-- logfile (lf)
تُحدّد خيارات “verbose” و “debug” مستوى التفاصيل، بينما يسمح مُبدّل “logfile” بإعادة توجيه المخرجات لتُسجّل في ملف بدلاً من نافذة الطرفية.
إدارة المستخدمين¶
استخدام أمر ‘add-user’¶
يُستخدم الأمر add-user في واجهة سطر الأوامر digna لإضافة مستخدم جديد إلى نظام digna.
صيغة الأمر¶
dignacli add-user [OPTIONS] USER_NAME USER_FULL_NAME USER_PASSWORD
الوسائط¶
- USER_NAME: اسم المستخدم للمستخدم الجديد (مطلوب).
- USER_FULL_NAME: الاسم الكامل للمستخدم الجديد (مطلوب).
- USER_PASSWORD: كلمة المرور للمستخدم الجديد (مطلوب).
الخيارات¶
--is_superuser,-su: علم لتعيين المستخدم الجديد كمسؤول (admin).--valid_until,-vu: يحدد تاريخ انتهاء صلاحية حساب المستخدم بالصيغةYYYY-MM-DD HH:MI:SS. إذا لم يُحدَّد، لا يكون للحساب تاريخ انتهاء.
مثال¶
لإضافة مستخدم جديد باسم المستخدم jdoe والاسم الكامل John Doe وكلمة المرور password123:
dignacli add-user [OPTIONS] USER_NAME USER_FULL_NAME USER_PASSWORD
لإضافة مستخدم جديد وتعيين تاريخ انتهاء للحساب:
dignacli add-user jdoe "John Doe" password123 --valid_until "2024-12-31 23:59:59"
استخدام أمر delete-user¶
يُستخدم الأمر delete-user في واجهة سطر الأوامر digna لإزالة مستخدم موجود من نظام digna.
صيغة الأمر¶
dignacli delete-user USER_NAME
الوسائط¶
- USER_NAME: اسم المستخدم للمستخدم الذي سيتم حذفه (مطلوب). هذا هو الوسيط الوحيد المطلوب للأمر.
مثال¶
dignacli delete-user jdoe
سينفّذ هذا الأمر إزالة المستخدم jdoe من نظام digna، مع سحب صلاحياته وحذف البيانات والأذونات المرتبطة به من المستودع.
استخدام أمر modify-user¶
يُستخدم أمر modify-user في واجهة سطر الأوامر digna لتحديث تفاصيل مستخدم موجود في نظام digna.
صيغة الأمر¶
dignacli modify-user <USER_NAME> <USER_FULL_NAME> [options]
الوسائط¶
- USER_NAME: اسم المستخدم للمستخدم الذي سيتم تعديله (مطلوب).
- USER_FULL_NAME: الاسم الكامل الجديد للمستخدم (مطلوب).
الخيارات¶
--is_superuser,-su: يعيّن المستخدم كمستخدم فائق الصلاحيات (superuser)، مما يمنحه امتيازات مرتفعة. هذا العلم لا يتطلب قيمة.--valid_until,-vu: يحدد تاريخ انتهاء صلاحية حساب المستخدم بالصيغة YYYY-MM-DD HH:MI:SS. إذا لم يُقدّم، يظل الحساب صالحًا إلى ما لا نهاية.
مثال¶
لتعديل الاسم الكامل للمستخدم jdoe إلى “Johnathan Doe” وتعيينه كمستخدم فائق الصلاحيات:
dignacli modify-user jdoe "Johnathan Doe" --is_superuser
استخدام أمر modify-user-pwd¶
يُستخدم أمر modify-user-pwd في واجهة سطر الأوامر digna لتغيير كلمة مرور مستخدم موجود في نظام digna.
صيغة الأمر¶
dignacli modify-user-pwd <USER_NAME> <USER_PWD>
الوسائط¶
- USER_NAME: اسم المستخدم للمستخدم الذي ستُغيّر كلمته (مطلوب).
- USER_PWD: كلمة المرور الجديدة للمستخدم (مطلوب).
مثال¶
لتغيير كلمة المرور للمستخدم jdoe إلى newpassword123:
dignacli modify-user-pwd jdoe newpassword123
استخدام أمر list-users¶
يُستخدم أمر list-users في واجهة سطر الأوامر digna لعرض قائمة بجميع المستخدمين المسجّلين في نظام digna.
صيغة الأمر¶
dignacli list-users
عند تنفيذ هذا الأمر في واجهة digna، سيتصل بالمستودع ويعرض قائمة بجميع المستخدمين، مظهرًا معرفهم، اسم المستخدم، الاسم الكامل، حالة كونهم superuser، وطوابع انتهاء الصلاحية.
إدارة المستودع¶
استخدام أمر upgrade-repo¶
يُستخدم أمر upgrade-repo في واجهة سطر الأوامر digna لترقية أو تهيئة مستودع digna. هذا الأمر أساسي لتطبيق التحديثات أو إعداد بنية المستودع للمرة الأولى.
صيغة الأمر¶
dignacli upgrade-repo [options]
الخيارات¶
--simulation-mode,-s: عند التفعيل، يشغل هذا الخيار الأمر في وضع المحاكاة، حيث يطبع عبارات SQL التي ستُنفّذ دون تنفيذها فعليًا. هذا مفيد لمعاينة التغييرات دون تعديل المستودع.
مثال¶
لتحديث مستودع digna، يمكنك تشغيل الأمر بدون أي خيارات:
dignacli upgrade-repo
dignacli upgrade-repo --simulation-mode
هذا الأمر حاسم للحفاظ على نظام digna، والتأكّد من أن مخطط قاعدة البيانات ومكونات المستودع الأخرى محدثة لتوافق أحدث إصدار من البرنامج.
استخدام أمر encrypt¶
يُستخدم أمر encrypt في واجهة سطر الأوامر digna لتشفير كلمة مرور.
صيغة الأمر¶
dignacli encrypt <PASSWORD>
الوسائط¶
- PASSWORD: كلمة المرور التي تحتاج إلى تشفير (مطلوبة).
مثال¶
لتشفير كلمة مرور، عليك تمرير كلمة المرور كوسيط.
على سبيل المثال، لتشفير كلمة المرور mypassword123، ستستخدم:
dignacli encrypt mypassword123
استخدام أمر generate-key¶
يُستخدم أمر generate-key لتوليد مفتاح Fernet، وهو أساسي لتأمين كلمات المرور المخزنة في مستودع digna.
صيغة الأمر¶
dignacli generate-key
إدارة البيانات¶
استخدام أمر clean-up¶
يُستخدم أمر clean-up في واجهة سطر الأوامر digna لإزالة ملفات التعريف (profiles) والتنبؤات وبيانات نظام الإشارة الضوئية (traffic light system) لمصدر بيانات واحد أو أكثر ضمن مشروع محدّد. هذا الأمر ضروري لإدارة دورة حياة البيانات، والمساهمة في الحفاظ على بيئة بيانات منظمة وفعّالة عبر مسح البيانات القديمة أو غير الضرورية.
صيغة الأمر¶
dignacli clean-up <PROJECT_NAME> <FROM_DATE> <TO_DATE> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي ستُزال منه البيانات (مطلوب). استخدام الكلمة المفتاحية all-projects في هذا الوسيط يوجّه digna للتكرار عبر جميع المشاريع الموجودة وتطبيق هذا الأمر.
- FROM_DATE: تاريخ ووقت بدء إزالة البيانات. الصيغ المقبولة تتضمن %Y-%m-%d، %Y-%m-%dT%H:%M:%S، أو %Y-%m-%d %H:%M:%S (مطلوب).
- TO_DATE: تاريخ ووقت انتهاء إزالة البيانات، باتّباع نفس صيغ FROM_DATE (مطلوب).
الخيارات¶
--table-name,-tn: يقيّد عملية التنظيف إلى جدول محدد داخل المشروع.--table-filter,-tf: مرشّحات لتقييد التنظيف إلى الجداول التي تحتوي أسماؤها على السلسلة الفرعية المحددة.--timing,-tm: يعرض مدة عملية التنظيف بعد الانتهاء.--help: يعرض معلومات المساعدة لأمر clean-up ويخرج.
مثال¶
لإزالة البيانات من المشروع ProjectA بين 1 يناير 2023 و30 يونيو 2023:
dignacli clean-up ProjectA 2023-01-01 2023-06-30
لإزالة البيانات من جدول محدد فقط اسمه Table1:
dignacli clean-up ProjectA 2023-01-01 2023-06-30 --table-name Table1
يساعد هذا الأمر في إدارة تخزين البيانات والتأكّد من أن المستودع يحتوي فقط على المعلومات ذات الصلة.
استخدام أمر list-projects¶
يُستخدم أمر list-projects في واجهة سطر الأوامر digna لعرض قائمة بجميع المشاريع المتاحة داخل نظام digna.
صيغة الأمر¶
dignacli list-projects
هذا الأمر مفيد بشكل خاص للمسؤولين والمستخدمين الذين يديرون مشاريع متعددة، حيث يوفر نظرة سريعة على المشاريع المتاحة في مستودع digna.
استخدام أمر list-ds¶
يُستخدم أمر list-ds في واجهة سطر الأوامر digna لعرض قائمة بجميع مصادر البيانات المتاحة داخل مشروع محدد. هذا الأمر مفيد لفهم الأصول البيانية المتاحة للتحليل والإدارة في نظام digna.
صيغة الأمر¶
dignacli list-ds <PROJECT_NAME>
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي تُعرض مصادر البيانات الخاصة به (مطلوب).
مثال¶
لعرض كل مصادر البيانات في المشروع المسمّى ProjectA:
dignacli list-ds ProjectA
يوفّر هذا الأمر للمستخدمين نظرة عامة على مصادر البيانات المتاحة في مشروع، مما يساعدهم على التنقل وإدارة مشهد البيانات بفعالية أكبر.
استخدام أمر inspect¶
يُستخدم أمر inspect في واجهة سطر الأوامر digna لإنشاء ملفات التعريف (profiles) والتنبؤات وبيانات نظام الإشارة الضوئية لواحد أو أكثر من مصادر البيانات داخل مشروع محدّد. يساعد هذا الأمر في تحليل ومراقبة البيانات خلال فترة زمنية محددة.
صيغة الأمر¶
dignacli inspect <PROJECT_NAME> <FROM_DATE> <TO_DATE> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي سيتم فحص بياناته (مطلوب). استخدام الكلمة المفتاحية all-projects في هذا الوسيط يوجّه digna للتكرار عبر جميع المشاريع الموجودة وتطبيق هذا الأمر.
- FROM_DATE: تاريخ ووقت بدء فحص البيانات. الصيغ المقبولة تتضمن %Y-%m-%d، %Y-%m-%dT%H:%M:%S، أو %Y-%m-%d %H:%M:%S (مطلوب).
- TO_DATE: تاريخ ووقت انتهاء فحص البيانات، باتّباع نفس صيغ FROM_DATE (مطلوب).
الخيارات¶
--table-name,-tn: يقيّد الفحص إلى جدول محدد داخل المشروع.--table-filter,-tf: مرشّحات لفحص الجداول التي تحتوي أسماؤها على السلسلة الفرعية المحددة فقط.--do-profile: يفعّل إعادة جمع ملفات التعريف. القيمة الافتراضية هي do-profile.--no-do-profile: يمنع إعادة جمع ملفات التعريف.--do-prediction: يفعّل إعادة حساب التنبؤات. القيمة الافتراضية هي do-prediction.--no-do-prediction: يمنع إعادة حساب التنبؤات.--do-alert-status: يفعّل إعادة حساب حالات التنبيهات. القيمة الافتراضية هي do-alert-status.--no-do-alert-status: يمنع إعادة حساب حالات التنبيهات.--iterative: يفعّل فحص الفترة باستخدام تكرارات يومية. القيمة الافتراضية هي iterative.--no-iterative: يفعّل فحص الفترة بأكملها دفعة واحدة.--enable_notification,-en: يفعّل إرسال الإشعارات في حال وجود تنبيهات.--timing,-tm: يعرض مدة عملية الفحص بعد الانتهاء.
مثال¶
لفحص بيانات المشروع ProjectA من 1 يناير 2024 إلى 31 يناير 2024:
dignacli inspect ProjectA 2024-01-01 2024-01-31
لفحص جدول محدد فقط وإجبار إعادة حساب التنبؤات:
dignacli inspect ProjectA 2024-01-01 2024-01-31 --table-name Table1 --force-prediction
استخدام أمر tls-status¶
يُستخدم أمر tls-status في واجهة سطر الأوامر digna للاستعلام عن حالة نظام الإشارة الضوئية (Traffic Light System أو TLS) لجدول محدد داخل مشروع في تاريخ معيّن. يقدّم نظام الإشارة الضوئية مؤشرات حول صحة وجودة البيانات، مبينًا أي مشكلات أو تنبيهات قد تتطلب انتباهًا.
صيغة الأمر¶
dignacli tls-status <PROJECT_NAME> <TABLE_NAME> <DATE>
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي يُستعلم عن حالة TLS له (مطلوب).
- TABLE_NAME: الجدول المحدد داخل المشروع الذي نريد حالة TLS له (مطلوب).
- DATE: التاريخ المراد الاستعلام عن حالة TLS فيه، عادة بصيغة %Y-%m-%d (مطلوب).
مثال¶
للتحقق من حالة TLS لجدول باسم UserData في المشروع ProjectA بتاريخ 1 يوليو 2024:
dignacli tls-status ProjectA UserData 2024-07-01
يساعد هذا الأمر المستخدمين على مراقبة والحفاظ على جودة البيانات من خلال تقديم تقرير حالة واضح وقابل للتنفيذ بناءً على معايير محددة مسبقًا.
استخدام أمر inspect-async¶
يُستخدم أمر inspect-async في واجهة سطر الأوامر digna لإصدار أمر إلى الخلفية (backend) لتنفيذ الفحص بشكل غير متزامن لواحد أو أكثر من مصادر البيانات لمشروع معيّن. إذا كان project_name مضبوطًا على all-projects، فسيتم التكرار عبر جميع المشاريع المتاحة وتنفيذ الفحص. يعيد الأمر معرّف طلب يمكن استخدامه لتتبّع تقدّم الفحص.
صيغة الأمر¶
dignacli inspect-async <PROJECT_NAME> <FROM_DATE> <TO_DATE> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي سيُفحص (مطلوب). استخدام الكلمة المفتاحية all-projects في هذا الوسيط يوجّه digna للتكرار عبر جميع المشاريع الموجودة وتطبيق هذا الأمر.
- FROM_DATE: تاريخ ووقت بدء فحص البيانات. الصيغ المقبولة تتضمن %Y-%m-%d، %Y-%m-%dT%H:%M:%S، أو %Y-%m-%d %H:%M:%S (مطلوب).
- TO_DATE: تاريخ ووقت انتهاء فحص البيانات، باتّباع نفس صيغ FROM_DATE (مطلوب).
الخيارات¶
--table-name,-tn: يقيّد الفحص إلى جدول محدد داخل المشروع.--table-filter,-tf: مرشّحات لفحص الجداول التي تحتوي أسماؤها على السلسلة الفرعية المحددة.
مثال¶
لفحص بيانات المشروع ProjectA من 1 يناير 2024 إلى 31 يناير 2024 بشكل غير متزامن:
dignacli inspect-async ProjectA 2024-01-01 2024-01-31
استخدام أمر inspect-status¶
يُستخدم أمر inspect-status في واجهة سطر الأوامر digna للتحقّق من تقدّم الفحص غير المتزامن استنادًا إلى معرّف الطلب.
صيغة الأمر¶
dignacli inspect-status <REQUEST ID> [options]
الوسائط¶
- REQUEST_ID: معرّف الطلب الذي أعاده أمر
inspect-async
الخيارات¶
--report_level,-rl: تحديد مستوى التقرير: 'task' أو 'step' [الافتراضي: task]
مثال¶
للتحقق من تقدّم فحص بمعرّف الطلب 12345 على مستوى الخطوة التفصيلية:
dignacli inspect-status 12345 --report-level step
استخدام أمر export-ds¶
يُستخدم أمر export-ds في واجهة سطر الأوامر digna لإنشاء تصدير لمصادر البيانات من مستودع digna. افتراضيًا، ستُصدّر كل مصادر البيانات من مشروع معيّن.
صيغة الأمر¶
dignacli export-ds <PROJECT_NAME> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي ستُصدّر منه مصادر البيانات.
الخيارات¶
--table_name,-tn: تصدير مصدر بيانات محدد من المشروع.--exportfile,-ef: تحديد اسم الملف للتصدير.
مثال¶
لتصدير كل مصادر البيانات من المشروع المسمّى ProjectA:
dignacli export-ds ProjectA
يقوم هذا الأمر بتصدير كل مصادر البيانات من ProjectA كوثيقة JSON يمكن استيرادها إلى مشروع آخر أو مستودع digna آخر.
استخدام أمر import-ds¶
يُستخدم أمر import-ds في واجهة سطر الأوامر digna لاستيراد مصادر البيانات إلى مشروع مستهدف وإنشاء تقرير استيراد.
صيغة الأمر¶
dignacli import-ds <PROJECT_NAME> <EXPORT_FILE> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي ستُستَورد إليه مصادر البيانات.
- EXPORT_FILE: اسم ملف تصدير مصادر البيانات المراد استيراده.
الخيارات¶
--output-file,-o: ملف لحفظ تقرير الاستيراد (إذا لم يُحدّد، يطبع في الطرفية في شكل جدولي).--output-format,-f: صيغة حفظ تقرير الاستيراد (json, csv).
مثال¶
لاستيراد كل مصادر البيانات من ملف التصدير my_export.json إلى ProjectB:
dignacli import-ds ProjectB my_export.json
بعد الاستيراد، سيعرض هذا الأمر أيضًا تقريرًا عن الكائنات التي تم استيرادها وتلك التي تم تجاوزها. سيتم استيراد مصادر البيانات الجديدة فقط إلى ProjectB. لمعرفة الكائنات التي ستُستَورد وتلك التي ستُتجاوز، يمكنك استخدام الأمر plan-import-ds
استخدام أمر plan-import-ds¶
يُستخدم أمر plan-import-ds في واجهة سطر الأوامر digna لتحليل تصدير مصادر البيانات قبل الاستيراد وإنشاء تقرير تخطيطي للاستيراد.
صيغة الأمر¶
dignacli plan-import-ds <PROJECT_NAME> <EXPORT_FILE> [options]
الوسائط¶
- PROJECT_NAME: اسم المشروع الذي سيتم تحليل ملف التصدير بالنسبة له لمعرفة ما سيتم استيراده.
- EXPORT_FILE: اسم ملف تصدير مصادر البيانات الذي سيتم تحليله قبل الاستيراد.
الخيارات¶
--output-file,-o: ملف لحفظ تقرير التحليل (إذا لم يُحدّد، يطبع في الطرفية في شكل جدولي).--output-format,-f: صيغة حفظ تقرير التحليل (json, csv).
مثال¶
للتحقق من مصادر البيانات التي ستُستَورد وتلك التي ستُتجاوز من ملف التصدير my_export.json عند استيراده إلى ProjectB:
dignacli plan-import-ds ProjectB my_export.json
سيعرض هذا الأمر خريطة استيراد فقط للكائنات التي ستُستَورد وتلك التي ستُتجاوز.