هل تغير شيء في مستكشف البيانات؟ لا يمكنني الحصول على استعلام عبر API

توقف هذا عن العمل قبل يومين لعميل مستضاف:


  HTTP_STATUS=$(curl -s -o /tmp/discourse_response.json -w \"%{http_code}\" \
    -X POST \"https://HOSTNAME/admin/plugins/discourse-data-explorer/queries/3/run\" \
    -H \"Content-Type: multipart/form-data;\" \
    -H \"Api-Key: $DISCOURSE_API_KEY\" \
    -H \"Api-Username: $DISCOURSE_API_USER\" \
    -F \"limit=ALL\")

أرى استخدامًا ناجحًا لهذا المفتاح:

لديه أذونات الاستعلام فقط:

تحققت مرتين من أن عنوان URL للاستعلام لم يتغير مرة أخرى عن طريق الهندسة العكسية لواجهة برمجة تطبيقات Discourse.

ثم قمت بإنشاء مفتاح عام جديد وما زلت أتلقى خطأ 400.

لا أعرف ما هي المشكلة المحتملة.

400 أم 406؟

حاول إضافة ترويسة Accept: application/json.

انتظر. لقد وجدتها:

{"errors":["You supplied invalid parameters to the request: limit"],"error_type":"invalid_parameters"}

إذًا المشكلة هي -F "limit=ALL"

إذًا سؤالي الآن هو لماذا توقف هذا عن العمل؟

إعجاب واحد (1)
إعجاب واحد (1)

شكرًا جزيلاً. ولكن لم أتمكن من استخدام limit=ALL حتى كمسؤول بمفتاح عالمي. يحتاج العميل إلى تنزيل جميع البيانات (لست متأكدًا حاليًا من الحد أو مدى ضخامة المجموعة المحتملة).

هذا بالضبط ما كان يهدف إليه طلب السحب (PR)!

الخيارات هي النسخ الاحتياطي، أو إجراء التصفح (pagination) باستخدام

select * from table where id > (:page * 5000)

حتى تحصل عليها على دفعات (chunks) كل 5000.

إنها تعمل!

هل الحد الأقصى للاستعلام العادي الذي أقوم به هو 5000؟ إذا كان الأمر كذلك، فأنا بالتأكيد بأمان.

:laughing:

يبدو أنه 10 آلاف

إعجابَين (2)

شكراً جزيلاً. يبدو أنني لم أكن بحاجة إلى ذلك غير المحدود على أي حال. :slight_smile:

لقد كنت سعيداً جداً لأنني تمكنت من معرفة كيفية استخدام إجراءات Github لسحب هذا الاستعلام يومياً لتحميله إلى موقع FTP الخاص ببائع. لقد تعطل مرتين في الأسبوعين الماضيين. آمل أن تكون هذه هي المرة الأخيرة لفترة طويلة!

إعجاب واحد (1)