انتقل إلى المحتوى

تنزيل باستخدام WIS2 Downloader

نتائج التعلم!

بنهاية هذه الجلسة العملية، ستكون قادرًا على:

  • العثور على مجموعات البيانات والاشتراك فيها
  • استخدام التصفية للتحكم في الملفات التي يتم تنزيلها
  • استخدام المصادقة لتنزيل مجموعات البيانات ذات الوصول المقيد
  • تغيير الإعداد الافتراضي لـ WIS2 Downloader لحالات الاستخدام المتقدمة

المقدمة

في WIS2، تحتوي جميع مجموعات البيانات على ملف بيانات وصفية يمكن العثور عليه في Global Discovery Catalogues. لذلك، يُقصد من المستخدمين دائمًا الرجوع إلى هذه الخدمات للعثور على البيانات التي يتم مشاركتها على WIS2.

يستخدم WIS2 Downloader هذا المبدأ من خلال العثور على جميع السجلات المتاحة في هذه GDCs ودمجها داخليًا لتمكين المستخدم من التنقل عبر البيانات المتاحة على WIS2. نظرًا لوجود عدد كبير من السجلات لعرضها، من الضروري توفير طريقة للمستخدم لتصفية هذه السجلات والعثور على السجل الصحيح. حتى بعد العثور على السجل الصحيح والاشتراك فيه، قد تكون هناك مجموعات بيانات تحتوي على عدد من الملفات يتجاوز احتياجات المستخدم الحالية. لهذا السبب، هناك حاجة إلى مستوى ثانٍ من التصفية — يعمل عند اتخاذ قرار بشأن ما إذا كان يجب تنزيل ملف معين.

الاستخدام في عرض الكتالوج

عرض الكتالوج هو إحدى الطرق للعثور على مجموعات البيانات والاشتراك فيها باستخدام WIS2 Downloader. يقوم بتجميع السجلات من Global Discovery Catalogues ويعرضها في واجهة قابلة للبحث والتصفية — مشابهة لتصفح بوابة GDC مباشرة.

انتقل إلى عرض الكتالوج في الشريط الجانبي الأيسر.

WIS2 Downloader Catalogue View

في أعلى الصفحة ستجد شريط بحث ومجموعة من عوامل التصفية. يمكنك استخدام هذه الأدوات لتضييق قائمة السجلات المتاحة حسب الكلمات المفتاحية، أو Centre ID، أو سياسة البيانات (أساسية مقابل موصى بها).

يمكنك أيضًا التصفية مكانيًا عن طريق تحديد مربع حدود باستخدام أربعة مدخلات إحداثيات — شمال، غرب، جنوب، وشرق — معبرًا عنها كقيم خط العرض وخط الطول العشرية. عند تحديد مربع حدود، يمكنك الاختيار بين وضعين للمطابقة:

  • Intersects — يعرض السجلات التي تتداخل نطاقاتها المكانية مع مربع الحدود بأي طريقة.
  • Within — يعرض فقط السجلات التي تقع نطاقاتها المكانية بالكامل داخل مربع الحدود.

إعادة تحميل الكتالوج

يتم تحميل الكتالوج من GDCs عند بدء تشغيل WIS2 Downloader. إذا كنت تعتقد أن القائمة قديمة، يمكنك إجبار إعادة التحميل من قسم الإعدادات في الشريط الجانبي الأيسر.

تمرين: العثور على مجموعة بيانات والاشتراك فيها

العثور على مجموعة بيانات لمراقبة السطح

استخدم عوامل التصفية في عرض الكتالوج للعثور على مجموعة بيانات أساسية لمراقبة السطح تتعلق بدرجة الحرارة وهطول الأمطار.

  1. اكتب surface في شريط البحث ولاحظ كيف يتم تصفية قائمة السجلات.
  2. قم بتعيين عامل تصفية سياسة البيانات إلى أساسية.
  3. قم بتعيين الكلمات المفتاحية لتشمل temperature, precipitation ولاحظ كيف تتغير النتائج.
  4. اختر سجلًا من النتائج لتوسيع تفاصيله.
  5. راجع البيانات الوصفية المعروضة — لاحظ الموضوع، المركز الأصلي، وسياسة البيانات.
  6. قم بتعيين مجلد الوجهة إلى surface-obs.
  7. انقر فوق Subscribe لإنشاء الاشتراك.

بعد الاشتراك، انتقل إلى إدارة الاشتراكات لتأكيد ظهور الاشتراك الجديد في القائمة.

انقر للكشف عن الإجابة

أي سجل يحتوي موضوعه على surface-based-observations وسياسة بياناته هي core يعتبر اختيارًا صالحًا. تطبيق عامل تصفية الكلمات المفتاحية لـ temperature, precipitation سيضيق النتائج أكثر إلى مجموعات البيانات ذات الصلة بهذه المتغيرات.

بمجرد الاشتراك، ستعرض واجهة إدارة الاشتراكات الاشتراك النشط مع موضوعه ومجلد الهدف. ستبدأ الملفات في التنزيل عند وصول الإشعارات الجديدة على الوسيط.

إلغاء الاشتراك وحذف الملفات التي تم تنزيلها

انتقل إلى واجهة إدارة الاشتراكات وقم بـ Unsubscribe من الموضوع الذي تم تحديده في التمرين السابق.

بعد ذلك، قم بتنظيف مجلد التنزيلات:

rm -fr /home/<username>/wis2-downloads/surface-obs

الاستخدام في عرض الشجرة

عرض الشجرة يقدم تسلسل مواضيع WIS2 كهيكل شجري قابل للطي، مما يتيح لك تصفح المواضيع المتاحة مستوى بمستوى — مشابه للتنقل في المواضيع باستخدام MQTT Explorer. تم تصميمه لاستكشاف البيانات المتاحة على WIS2 من أعلى إلى أسفل، بدءًا من جذر التسلسل الهرمي والتعمق فيه. هذا يختلف عن عرض الكتالوج، الذي يأخذك مباشرة إلى سجلات مجموعات البيانات الفردية ويكون أكثر ملاءمة عندما تعرف بالفعل ما تبحث عنه.

انتقل إلى عرض الشجرة في الشريط الجانبي الأيسر.

WIS2 Downloader Tree View

يتم تنظيم الشجرة وفقًا لتسلسل مواضيع WIS2. قم بتوسيع كل مستوى بالنقر فوق عقدة للكشف عن العناصر التابعة لها. في أي مستوى يمكنك الاشتراك عن طريق تحديد عقدة والنقر فوق Subscribe — باستخدام رمز البدل (#) لالتقاط جميع المواضيع تحت تلك العقدة.

الاشتراك في مستويات مختلفة

الاشتراك في مستوى أعلى في الشجرة (مثل مستوى Centre ID) سيقوم بالتقاط جميع مجموعات البيانات المنشورة بواسطة ذلك المركز. الاشتراك في مستوى أدنى يمنحك تحكمًا أكثر تفصيلًا. استخدم رمز البدل # الذي يتم إضافته تلقائيًا بواسطة WIS2 Downloader عند الاشتراك من عرض الشجرة.

تمرين: العثور على مجموعة بيانات والاشتراك باستخدام عرض الشجرة

الاشتراك في مجموعة بيانات عبر عرض الشجرة

استخدم عرض الشجرة للعثور على بيانات مراقبة السطح من مركز معين والاشتراك فيها.

  1. قم بتوسيع الشجرة بدءًا من عقدة cache، ثم انتقل عبر awis2.
  2. اختر Centre ID من اختيارك واستمر في التوسع حتى تصل إلى موضوع متعلق بـ surface-based-observations.
  3. راجع المسار الكامل للموضوع المعروض — تأكد من أنه يتوافق مع مجموعة البيانات التي تريدها.
  4. قم بتعيين مجلد الوجهة إلى surface-obs-tree.
  5. انقر فوق Subscribe لإنشاء الاشتراك.

انتقل إلى إدارة الاشتراكات لتأكيد أن الاشتراك نشط.

انقر للكشف عن الإجابة

أي مسار موضوع يتبع النمط cache/a/wis2/<centre-id>/data/core/weather/surface-based-observations/# يعتبر اختيارًا صالحًا. سيختلف جزء Centre ID بناءً على المركز الذي اخترته في الشجرة.

ستعرض واجهة إدارة الاشتراكات الاشتراك الجديد إلى جانب أي اشتراكات تم إنشاؤها مسبقًا.

إلغاء الاشتراك وحذف الملفات التي تم تنزيلها

انتقل إلى واجهة إدارة الاشتراكات وقم بـ Unsubscribe من الموضوع الذي تم تحديده في التمرين السابق.

بعد ذلك، قم بتنظيف مجلد التنزيلات:

rm -fr /home/<username>/wis2-downloads/surface-obs-tree

الاستخدام في عرض الاشتراك اليدوي

عرض الاشتراك اليدوي يتيح لك إنشاء اشتراك عن طريق إدخال الموضوع مباشرة، دون الاعتماد على Global Discovery Catalogues. على عكس عرض الكتالوج وعرض الشجرة — اللذين يستمدان مواضيعهم من GDCs — يعتبر الاشتراك اليدوي مفيدًا عندما تعرف بالفعل الموضوع المحدد الذي تريد الاشتراك فيه وترغب في إعداده دون تصفح الكتالوج مع حرية أكبر في استخدام WTH.

انتقل إلى عرض الاشتراك اليدوي في الشريط الجانبي الأيسر.

WIS2 Downloader Manual Subscribe

النموذج يتيح لك تحديد:

  • Topic — الموضوع الكامل لـ MQTT للاشتراك فيه، بما في ذلك أي رموز بدل (مثل # و +).
  • مجلد الوجهة — الدليل الفرعي المحلي حيث سيتم حفظ الملفات التي تم تنزيلها.
  • Filter — كائن تصفية اختياري في شكل نصي للتحكم في الإشعارات التي يتم تنزيلها.
  • Priority queue — يتحكم في أولوية التنزيل المخصصة للإشعارات من هذا الاشتراك.
  • Authentication — بيانات الاعتماد المطلوبة لمجموعات البيانات ذات الوصول المقيد.

متى يتم استخدام الاشتراك اليدوي

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

التنزيل من مجموعة بيانات ذات وصول مقيد

بعض مجموعات البيانات على WIS2 ذات وصول مقيد، مما يعني أنها تتطلب بيانات اعتماد صالحة قبل أن يتم تنزيل الملفات. يدعم WIS2 Downloader طريقتين للمصادقة في عرض الاشتراك اليدوي:

  • Basic HTTP authentication — تقديم اسم المستخدم وكلمة المرور المرتبطين ببيانات الاعتماد الخاصة بك.
  • Bearer token — تقديم رمز يتم إصداره بواسطة ناشر البيانات بدلاً من اسم المستخدم وكلمة المرور.

يتم تخزين بيانات الاعتماد لكل اشتراك وتطبيقها تلقائيًا عند تنزيل الملفات لهذا الموضوع.

تمرين: الاشتراك في مجموعة بيانات ذات وصول مقيد على wis2box الخاص بك

في هذا التمرين، ستقوم بإعداد مجموعة بيانات ذات وصول مقيد على مثيل wis2box الخاص بك، وتكوين WIS2 Downloader للاشتراك في الوسيط الخاص به، والتحقق من تنزيل الملفات بشكل صحيح عند تقديم رمز Bearer token.

إعداد والاشتراك في مجموعة بيانات ذات وصول مقيد

الخطوة 1 — إنشاء مجموعة بيانات ذات وصول مقيد على wis2box

على مثيل wis2box الخاص بك، قم بإنشاء مجموعة بيانات مع تمكين التحكم في الوصول وقم بتدوين الموضوع والرمز المميز الذي تم إنشاؤه لها. إذا لم تقم بذلك بالفعل، راجع جلسة العملية Datasets with access control للحصول على خطوات الإعداد الكاملة.

الخطوة 2 — إعداد WIS2 Downloader للاستماع إلى الوسيط الخاص بـ wis2box

بشكل افتراضي، يستمع WIS2 Downloader إلى Global Broker. لتلقي الإشعارات مباشرةً من مثيل wis2box الخاص بك، تحتاج إلى إضافة مشترك في ملف التكوين الخاص بـ WIS2 Downloader يشير إلى الوسيط الداخلي لـ MQTT في wis2box.

افتح ملف docker-compose.yml في دليل WIS2 Downloader وأضف تكوين المشترك التالي مع استبدال WIS2BOX_URL بعنوان URL الخاص بمثيل wis2box الخاص بك:

  subscriber-test:
    container_name: subscriber-test
    restart: always
    build:
      context: .
      dockerfile: ./containers/subscriber/Dockerfile
      args:
        WIS2DOWNLOADER_UID: ${WIS2DOWNLOADER_UID:-10001}
        WIS2DOWNLOADER_GID: ${WIS2DOWNLOADER_GID:-988}
    env_file: *default-env
    environment:
      GLOBAL_BROKER_HOST: WIS2BOX_URL
      GLOBAL_BROKER_PORT: 443
      GLOBAL_BROKER_USERNAME: everyone
      GLOBAL_BROKER_PASSWORD: everyone
      MQTT_PROTOCOL: websockets
    depends_on:
      - redis
    networks:
      - redis-net
    logging: *loki-logging
    healthcheck:
      test: ["CMD", "pgrep", "-f", "subscriber_start"]
      interval: 30s
      timeout: 5s
      retries: 3

أعد تشغيل الحزمة لتطبيق التغييرات:

docker compose down
docker compose up -d

الخطوة 3 — الاشتراك في مجموعة البيانات في WIS2 Downloader

  1. انتقل إلى Manual Subscribe في واجهة المستخدم الخاصة بـ WIS2 Downloader.
  2. قم بتعيين الموضوع إلى الموضوع الذي تم تكوينه لمجموعة البيانات ذات التحكم في الوصول على wis2box.
  3. قم بتعيين مجلد الوجهة إلى restricted-data.
  4. أدخل رمز المصادقة الذي تم إنشاؤه في الخطوة 1 في حقل Authentication.
  5. انقر على Subscribe لإنشاء الاشتراك.

الخطوة 4 — دفع البيانات إلى مجموعة البيانات على wis2box

على مثيل wis2box الخاص بك، قم بنشر ملف إلى مجموعة البيانات ذات التحكم في الوصول. راجع جلسة Ingesting data for publication العملية للحصول على خطوات إدخال البيانات.

الخطوة 5 — التحقق من التنزيل

تحقق من أن الملف قد تم تنزيله بواسطة WIS2 Downloader:

ls /home/<username>/wis2-downloads/restricted-data
انقر لعرض الإجابة

مع وجود رمز مصادقة صالح، سيقوم WIS2 Downloader بالمصادقة عند تنزيل الملفات للموضوع المقيد. يجب أن يظهر الملف الذي تم نشره في الخطوة 4 في مجلد restricted-data بعد وقت قصير من إدخاله بواسطة wis2box.

إذا فشلت المصادقة، فلن يتم تنزيل الملفات حتى لو كان الاشتراك يبدو نشطًا في عرض Manage Subscriptions. تحقق جيدًا من أن رمز المصادقة يتطابق مع الرمز الذي تم تكوينه على مجموعة البيانات في wis2box.

إلغاء الاشتراك وحذف الملفات التي تم تنزيلها

انتقل إلى عرض Manage Subscriptions وقم بـ Unsubscribe من الموضوع، ثم قم بتنظيف مجلد التنزيلات:

rm -fr /home/<username>/wis2-downloads/restricted-data

تصفية التنزيلات

تتيح لك الفلاتر التحكم في الملفات التي يتم تنزيلها من الاشتراك على مستوى الإشعار — وهذا هو المستوى الثاني من التصفية المذكور في المقدمة. بدلاً من تنزيل كل ملف يتم نشره على موضوع معين، يمكنك تعريف فلتر بحيث يتم تنزيل الإشعارات التي تطابق معايير محددة فقط.

بعد اختيار مجموعة بيانات في Catalogue View أو Tree View، تظهر لوحة الفلتر على الجانب الأيمن من الشاشة قبل الاشتراك. هنا يمكنك ملء قيم الفلتر التي تريد تطبيقها. يقوم WIS2 Downloader ببناء كائن الفلتر تلقائيًا من مدخلاتك.

في عرض Manual Subscribe، ستقوم بإدخال كائن الفلتر يدويًا عن طريق ملء إدخال Filter (JSON) في النموذج.

مدخلات الفلتر المتاحة

  • نوع الوسائط — تقييد التنزيلات لأنواع محتوى محددة (مثل application/bufr).
  • مجموعة البيانات — تقييد التنزيلات لمجموعة بيانات معينة باستخدام معرف البيانات الوصفية الخاص بها.
  • الصندوق المحيط — تقييد التنزيلات للإشعارات التي تقع بياناتها ضمن منطقة مكانية، يتم تعريفها بواسطة قيم north وsouth وeast وwest.
  • النطاق الزمني والتاريخ — تقييد التنزيلات للإشعارات التي تم نشرها ضمن نطاق زمني محدد.
  • الفلاتر المخصصة — التصفية بناءً على أي خاصية إشعار أخرى كما هو محدد في سجل البيانات الوصفية عن طريق تحديد قيمة الخاصية (مثل التصفية بواسطة wigos_station_identifier لتنزيل البيانات فقط من محطة معينة).

فيما يلي مثال على كائن الفلتر الذي تم إنشاؤه من هذه المدخلات:

{
  "rules": [
    {
      "id": "accept",
      "order": 1,
      "match": {
        "all": [
          {
            "any": [
              { "media_type": { "exists": false } },
              { "media_type": { "in": ["application/bufr", "application/x-bufr"] } }
            ]
          },
          { "metadata_id": { "in": ["urn:wmo:md:ir-irimo:core.surface-based-observations.temp"] } },
          { "bbox": { "north": 23.0, "south": 27.0, "east": 25.0, "west": 28.0 } },
          {
            "property": "pubtime",
            "type": "datetime",
            "between": ["2026-06-08T20:00:00+00:00", "2026-06-09T05:00:59+00:00"]
          },
          {
            "property": "wigos_station_identifier",
            "type": "string",
            "in": ["0-20000-0-78338"]
          }
        ]
      },
      "action": "accept"
    },
    {
      "id": "default",
      "order": 999,
      "match": { "always": true },
      "action": "reject",
      "reason": "No filter criteria matched"
    }
  ]
}

تمرين: الاشتراك باستخدام فلتر

استخدم Catalogue View للعثور على مجموعة بيانات لمراقبة سطحية وقم بتطبيق فلتر مكاني قبل الاشتراك.

  1. انتقل إلى Catalogue View وابحث عن مجموعة بيانات لمراقبة سطحية من اختيارك.
  2. اختر مجموعة البيانات لتوسيع تفاصيلها في اللوحة اليمنى.
  3. في مدخلات الفلتر، قم بتعيين الصندوق المحيط لمنطقة من اختيارك.
  4. اختياريًا، قم بتعيين فلتر نوع الوسائط لتقييد التنزيلات لملفات BUFR.
  5. قم بتعيين مجلد الوجهة إلى filtered-obs.
  6. انقر على Subscribe لإنشاء الاشتراك.

انتظر وصول الملفات وتحقق من أن الملفات التي تطابق معايير الفلتر فقط هي التي تم تنزيلها.

انقر لعرض الإجابة

فقط الإشعارات التي تطابق جميع الشروط التي قمت بتعريفها سيتم قبولها وتنزيلها. سيتم رفض جميع الإشعارات الأخرى بواسطة قاعدة الالتقاط الافتراضية.

إلغاء الاشتراك وحذف الملفات التي تم تنزيلها

انتقل إلى عرض Manage Subscriptions وقم بـ Unsubscribe من الموضوع، ثم قم بتنظيف مجلد التنزيلات:

rm -fr /home/<username>/wis2-downloads/filtered-obs

الخاتمة

تهانينا!

في هذه الجلسة العملية، تعلمت كيفية:

  • العثور على مجموعات البيانات والاشتراك فيها باستخدام Catalogue View و Tree View
  • الاشتراك في المواضيع مباشرة باستخدام عرض Manual Subscribe
  • تطبيق الفلاتر للتحكم في الملفات التي يتم تنزيلها من الاشتراك
  • استخدام المصادقة لتنزيل البيانات من مجموعات البيانات ذات التحكم في الوصول