Azure Cosmos DB ل NoSQL Java SDK (قديم): ملاحظات الإصدار والموارد
ينطبق على: NoSQL
تتناول هذه المقالة مزامنة Azure Cosmos DB Java SDK v2 لواجهة برمجة التطبيقات ل NoSQL. تدعم واجهة برمجة التطبيقات هذه العمليات المتزامنة فقط.
هام
هذا ليس أحدث Java SDK لـ Azure Cosmos DB! نوصي بشدة باستخدام Azure Cosmos DB Java SDK v4 لمشروعك. اتبع الإرشادات الواردة في دليل الترحيل إلى Azure Cosmos DB Java SDK الإصدار 4 ودليل Reactor vs RxJava للترقية.
تحذير
اعتبارا من 29 فبراير 2024، تم الآن إيقاف Azure Cosmos DB Sync Java SDK v2.x. لم يعد Azure Cosmos DB يوفر الصيانة أو الدعم ل SDK بعد الإيقاف. يرجى اتباع الإرشادات هنا للترحيل إلى Azure Cosmos DB Java SDK v4.
الارتباطات | |
---|---|
تنزيل SDK | Maven |
مستندات API | وثائق مرجعية لواجهة برمجة تطبيقات Java |
المساهمة في SDK | GitHub |
بدء الاستخدام | بدء استخدام Java SDK |
البرنامج التعليمي لتطبيق الويب | تطوير تطبيق الويب باستخدام Azure Cosmos DB |
أدنى وقت تشغيل مدعوم | حزمة تطوير Java (JDK) 7. |
ملاحظات الإصدار
فيما يلي ملاحظات الإصدار لكل إصدار من SDK.
2.6.5
- تمت إزالة تبعية
com.google.guava/guava
الاختبار بسبب الثغرات الأمنية - تمت ترقية التبعية
com.fasterxml.jackson.core/jackson-databind
إلى 2.14.0 - تمت ترقية التبعية
commons-codec/commons-codec
إلى 1.15 - ترقية التبعية
org.json/json
إلى 20180130
2.6.4
- تم إصلاح نهج إعادة المحاولة لمهلات القراءة
2.6.3
- تم إصلاح سياسة إعادة المحاولة عندما يكون
GoneException
ملفوفاً فيIllegalStateException
- - هذا التغيير ضروري للتأكد من تحديث ذاكرة التخزين المؤقت للبوابة على 410 بحيث يمكن لموصل Spark (لـ Spark 2.4) استخدام نهج إعادة المحاولة المخصصة للسماح باستعلامات النجاح أثناء تقسيم التقسيم
2.6.2
- تمت إضافة نهج إعادة محاولة جديد لإعادة المحاولة في مهلات القراءة
- تمت ترقية التبعية
com.fasterxml.jackson.core/jackson-databind
إلى 2.9.10.8 - تمت ترقية التبعية
org.apache.httpcomponents/httpclient
إلى 4.5.13
2.6.1
- إصلاح الخلل في معالجة استعلام من خلال خدمة التشغيل المتداخل.
2.6.0
- دعم إضافي للاستعلام عن تغذية التغيير من وقت لآخر.
2.5.1
- يعمل على إصلاح مشكلة ذاكرة التخزين المؤقت للقسم الأساسي في استعلام documentCollection.
2.5.0
- تمت إضافة دعم لـ 449 إعادة محاولة التكوين المخصص.
2.4.7
- يعمل على إصلاح مشكلة مهلة تجمع الاتصال.
- يعمل على إصلاح تحديث رمز المصادقة على عمليات إعادة المحاولة الداخلية.
2.4.6
- تم تحديث علامة نهج النسخ المتماثلة الصحيحة من جانب العميل في databaseAccount وجعل تكوين قاعدة البيانات والحساب يقرأ من ذاكرة التخزين المؤقت.
2.4.5
- إذا كان المستخدم يوفر pkRangeId، فإن هذا الإصدار يتجنب إعادة المحاولة على خطأ نطاق مفتاح القسم غير صالح
2.4.4
- يتم تحديث ذاكرة التخزين المؤقت لنطاق مفتاح القسم المحسن.
- يعمل على إصلاح السيناريو حيث لا تستقبل SDK تلميح تقسيم القسم من الخادم ويؤدي إلى تحديث ذاكرة التخزين المؤقت للتوجيه من جانب العميل بشكل غير صحيح.
2.4.2
- يتم تحديث ذاكرة التخزين المؤقت للمجموعة المحسّنة.
2.4.1
- تمت إضافة دعم لاسترداد رسالة الاستثناء الداخلية من سلسلة تشخيص الطلب.
2.4.0
- قدم إصدار API على PartitionKeyDefinition.
2.3.0
- تمت إضافة دعم مهلة منفصل للوضع المباشر.
2.2.3
- استهلاك رسالة خطأ فارغة من الخدمة وإنتاج استثناء عميل المستند.
2.2.2
- تحسين اتصال المقبس، إضافة SoKeepAlive الافتراضي صحيح.
2.2.0
- إضافة دعم سلسلة تشخيص الطلب.
2.1.3
- إصلاح الخلل في PartitionKey لـ Hash الإصدار 2.
2.1.2
- تمت إضافة دعم الفهارس المركبة.
- تم إصلاح الخلل في مدير نقطة النهاية العامة لفرض التحديث.
- تم إصلاح الخطأ لعمليات upsert مع شروط مسبقة في الوضع المباشر.
2.1.1
- إصلاح الخلل في ذاكرة التخزين المؤقت لعنوان البوابة.
2.1.0
- تمت إضافة دعم الكتابة متعددة المناطق للوضع المباشر.
- إضافة دعم للتعامل مع
IOExceptions
طرح كاستثناءاتServiceUnavailable
، من وكيل. - تم إصلاح الخلل في نهج إعادة محاولة اكتشاف نقطة النهاية.
- تم إصلاح خطأ لضمان عدم طرح استثناءات المؤشر الفارغ في BaseDatabaseAccountConfigurationProvider.
- تم إصلاح خطأ للتأكد من أن QueryIterator لا يقوم بإرجاع القيم الخالية.
- تم إصلاح خطأ لضمان السماح ب PartitionKey كبير.
2.0.0
- تمت إضافة دعم الكتابة متعددة المناطق لوضع البوابة.
1.16.4
- إصلاح الخلل في قراءة القسم نطاقات المفاتيح للاستعلام.
1.16.3
- تم إصلاح الخلل في تعيين حجم رأس رمز المتابعة في وضع DirectHttps.
1.16.2
- تمت إضافة دعم تجاوز فشل البث.
- دعم إضافي للبيانات الوصفية المخصصة.
- تحسين منطق التعامل مع الجلسة.
- إصلاح الخلل في ذاكرة التخزين المؤقت لنطاق مفتاح القسم.
- تم إصلاح خطأ
NullPointerException
(NPE) في الوضع المباشر.
1.16.1
- دعم إضافي للفهرس الفريد.
- تمت إضافة دعم للحد من حجم الرمز المميز للاستمرار في خيارات التغذية.
- تم إصلاح الخلل في Json Serialization (الطابع الزمني).
- تم إصلاح الخلل في Json Serialization (enum).
- الاعتماد على com.fasterxml.jackson.core: تمت ترقية jackson-databind إلى 2.9.5.
1.16.0
- تم تحسين تجميع الاتصال للوضع المباشر.
- تحسين الإحضار المسبق المحسن لاستعلام القسم المتقاطع غير الترتيبي.
- جيل UUID محسن.
- تحسين منطق تناسق الجلسة.
- إضافة دعم متعدد الأضلاع.
- دعم إضافي لإحصائيات نطاق مفتاح التقسيم للتجميع.
- إصلاح الخلل في دعم متعدد المناطق.
1.15.0
- تحسين أداء Json Serialization.
- يتطلب إصدار SDK هذا أحدث إصدار من Azure Cosmos DB Emulator.
1.14.0
- تغييرات داخلية لمكتبات أصدقاء Microsoft.
1.13.0
- تم إصلاح مشكلة في قراءة نطاقات مفاتيح القسم الفردي.
- تم إصلاح مشكلة في تحليل ResourceID تؤثر على قاعدة البيانات ذات الأسماء القصيرة.
- تم إصلاح مشكلة بسبب ترميز مفتاح القسم.
1.12.0
- إصلاحات الأخطاء الحرجة لطلب المعالجة أثناء تقسيم الأقسام.
- تم إصلاح مشكلة في مستويات تناسق Strong and BoundedStaleness.
1.11.0
- دعم إضافي لمستوى تناسق جديد يسمى بادئة متسقة.
- إصلاح الخلل في مجموعة القراءة في وضع الجلسة.
1.10.0
- دعم ممكّن لمجموعة مقسمة بحد أدنى يصل إلى 2500 RU / ثانية ومقياس بزيادات تصل إلى 100 RU / ثانية.
- إصلاح خطأ في التجميع الأصلي، مما قد يؤدي إلى استثناء NullRef في بعض الاستعلامات.
1.9.6
- تم إصلاح خطأ في تكوين محرك الاستعلام قد يتسبب في استثناءات للاستعلامات في وضع البوابة.
- تم إصلاح بعض الأخطاء في حاوية جلسة العمل التي قد تتسبب في استثناء "لم يتم العثور على مورد المالك" للطلبات مباشرة بعد إنشاء المجموعة.
1.9.5
- تمت إضافة دعم لاستعلامات التجميع (COUNT وMIN وMAX وSUM وAVG).
- دعم إضافي لتغيير التغذية.
- تمت إضافة دعم لمعلومات حصة المجموعة من خلال RequestOptions.setPopulateQuotaInfo.
- دعم إضافي لتسجيل البرنامج النصي للإجراء المخزن من خلال RequestOptions.setScriptLoggingEnabled.
- تم إصلاح خطأ حيث قد يتوقف الاستعلام في وضع DirectHttps عن الاستجابة عند مواجهة حالات فشل التقييد.
- إصلاح الخلل في وضع تناسق الجلسة.
- إصلاح خطأ، والذي قد يتسبب في NullReferenceException في HttpContext عندما يكون معدل الطلب مرتفعا.
- تحسين أداء وضع DirectHttps.
1.9.4
- تمت إضافة دعم الوكيل البسيط المستند إلى مثيل العميل باستخدام واجهة برمجة تطبيقات ConnectionPolicy.setProxy ().
- تمت إضافة DocumentClient.close() API لإغلاق مثيل DocumentClient بشكل صحيح.
- تم تحسين أداء الاستعلام في وضع الاتصال المباشر من خلال اشتقاق خطة الاستعلام من التجميع الأصلي بدلاً من البوابة.
- تعيين FAIL_ON_UNKNOWN_PROPERTIES = خطأ حتى لا يحتاج المستخدمون إلى تعريف JsonIgnoreProperties في كائن Java القديم العادي (POJO).
- تسجيل Refactored لاستخدام SLF4J.
- تم إصلاح بعض الأخطاء الأخرى في قارئ التناسق.
1.9.3
- تم إصلاح الخلل في إدارة الاتصال لمنع تسرب الاتصال في وضع الاتصال المباشر.
- تم إصلاح خطأ في استعلام TOP حيث قد يطرح استثناء NullReference.
- تحسين الأداء عن طريق تقليل عدد استدعاءات الشبكة لذاكرة التخزين المؤقت الداخلية.
- تمت إضافة رمز الحالة و ActivityID و Request URI في DocumentClientException لاستكشاف الأخطاء وإصلاحها بشكل أفضل.
1.9.2
- تم إصلاح مشكلة في إدارة الاتصال من أجل الاستقرار.
1.9.1
- دعم إضافي لمستوى اتساق Staleness المحدود.
- دعم إضافي للاتصال المباشر لعمليات CRUD للمجموعات المقسمة.
- إصلاح الخلل في الاستعلام عن قاعدة بيانات مع SQL.
- تم إصلاح خطأ في ذاكرة التخزين المؤقت لجلسة العمل حيث قد يتم تعيين الرمز المميز للجلسة بشكل غير صحيح.
1.9.0
- تمت إضافة دعم للاستعلامات المتوازية عبر التقسيم.
- دعم إضافي لاستعلامات TOP / ORDER BY للمجموعات المقسمة.
- دعم إضافي من أجل الاتساق القوي.
- دعم إضافي للطلبات القائمة على الاسم عند استخدام الاتصال المباشر.
- تم الإصلاح لجعل ActivityId ثابتاً عبر جميع محاولات إعادة المحاولة.
- تم إصلاح الخلل المتعلق بذاكرة التخزين المؤقت للجلسة عند إعادة إنشاء مجموعة بنفس الاسم.
- تمت إضافة أنواع بيانات Polygon وLineString أثناء تحديد نهج فهرسة المجموعة للتسييج الجغرافي للاستعلامات المكانية.
- تم إصلاح المشكلات في Java Doc لـ Java 1.8.
1.8.1
- تم إصلاح الخلل في PartitionKeyDefinitionMap للتخزين المؤقت لمجموعات الأقسام الفردية وعدم تقديم طلبات مفتاح إضافية لقسم الجلب.
- تم إصلاح الخلل المتمثل في عدم إعادة المحاولة عند تقديم قيمة مفتاح قسم غير صحيحة.
1.8.0
- تمت إضافة الدعم لحسابات قاعدة البيانات متعددة المناطق.
- تمت إضافة دعم لإعادة المحاولة التلقائية في الطلبات المخنوقة مع خيارات لتخصيص الحد الأقصى لمحاولات إعادة المحاولة والحد الأقصى لوقت انتظار إعادة المحاولة. لمزيد من المعلومات، راجع RetryOptions و ConnectionPolicy.getRetryOptions().
- تم إيقاف رمز التقسيم المخصص المستند إلى IPartitionResolver. استخدم المجموعات المقسمة لتخزين ومعدل نقل أعلى.
1.7.1
- تمت إضافة دعم نهج إعادة المحاولة للحد من المعدل.
1.7.0
- وقت إضافي للعيش (TTL) دعم للمستندات.
1.6.0
- تم تنفيذ مجموعات مقسمة ومستويات أداء محددة بواسطة المستخدم.
1.5.1
- تم إصلاح خطأ في HashPartitionResolver لإنشاء قيم التجزئة في little-endian لتكون متسقة مع مجموعات تطوير البرامج الأخرى (SDKs).
1.5.0
- إضافة محللات أقسام Hash & Range للمساعدة في تقسيم التطبيقات عبر أقسام متعددة.
1.4.0
- تنفيذ Upsert. تمت إضافة طرق upertXXX الجديدة لدعم ميزة Upsert.
- تنفيذ التوجيه القائم على المعرف. لا توجد تغييرات عامة في API، كل التغييرات داخلية.
1.3.0
- تم تخطي الإصدار لجعل رقم الإصدار متوافقاً مع حزم SDK الأخرى
1.2.0
- يدعم الفهرس الجيوفضائي.
- التحقق من خاصية المعرف لجميع الموارد. لا يمكن أن تحتوي معرفات الموارد على
?
أو/
أو#
\
أحرف أو تنتهي بمسافة. - يضيف عنوان جديد "تقدم تحويل الفهرس" إلى ResourceResponse.
1.1.0
- تنفذ نهج الفهرسة الإصدار 2
1.0.0
- GA SDK
مواعيد الإصدار والإيقاف
تقدم Microsoft إشعاراً قبل 12 شهراً على الأقل من إنهاء العمل بأداة SDK من أجل تسهيل الانتقال إلى إصدار أحدث/مدعوم. تتم إضافة الميزات والوظائف والتحسينات الجديدة فقط إلى SDK الحالي. نوصي بالترقية دائما إلى أحدث إصدار من SDK في أقرب وقت ممكن.
تحذير
بعد 30 قد 2020، لن يقوم Azure Cosmos DB بإجراء إصلاحات الأخطاء وإضافة ميزات جديدة وتوفير الدعم للإصدارات 1.x من Azure Cosmos DB Java SDK لواجهة برمجة التطبيقات ل NoSQL. إذا كنت تفضل عدم الترقية، فسيستمر تقديم الطلبات المرسلة من الإصدار 1.x من SDK بواسطة خدمة Azure Cosmos DB.
بعد 29 فبراير 2016، لن يقوم Azure Cosmos DB بإجراء إصلاحات الأخطاء وإضافة ميزات جديدة وتوفير الدعم للإصدارات 0.x من Azure Cosmos DB Java SDK لواجهة برمجة التطبيقات ل NoSQL. إذا كنت تفضل عدم الترقية، فسيستمر تقديم الطلبات المرسلة من الإصدار 0.x من SDK بواسطة خدمة Azure Cosmos DB.
إصدار | تاريخ الإصدار | تاريخ الإيقاف |
---|---|---|
2.6.1 | 17 ديسمبر 2020 | 29 فبراير 2024 |
2.6.0 | 16 يوليو 2020 | 29 فبراير 2024 |
2.5.1 | 3 يونيو 2020 | 29 فبراير 2024 |
2.5.0 | 12 مايو 2020 | 29 فبراير 2024 |
2.4.7 | 20 فبراير 2020 | 29 فبراير 2024 |
2.4.6 | 24 يناير 2020 | 29 فبراير 2024 |
2.4.5 | 10 نوفمبر 2019 | 29 فبراير 2024 |
2.4.4 | 24 أكتوبر 2019 | 29 فبراير 2024 |
2.4.2 | 26 سبتمبر 2019 | 29 فبراير 2024 |
2.4.1 | 18 يوليو 2019 | 29 فبراير 2024 |
2.4.0 | 4 مايو 2019 | 29 فبراير 2024 |
2.3.0 | 24 أبريل 2019 | 29 فبراير 2024 |
2.2.3 | 16 أبريل 2019 | 29 فبراير 2024 |
2.2.2 | 05 أبريل 2019 | 29 فبراير 2024 |
2.2.0 | 27 مارس 2019 | 29 فبراير 2024 |
2.1.3 | 13 مارس 2019 | 29 فبراير 2024 |
2.1.2 | 09 مارس 2019 | 29 فبراير 2024 |
2.1.1 | 13 ديسمبر 2018 | 29 فبراير 2024 |
2.1.0 | 20 نوفمبر 2018 | 29 فبراير 2024 |
2.0.0 | 21 سبتمبر 2018 | 29 فبراير 2024 |
1.16.4 | 10 سبتمبر 2018 | 30 مايو 2020 |
1.16.3 | 09 سبتمبر 2018 | 30 مايو 2020 |
1.16.2 | 29 يونيو 2018 | 30 مايو 2020 |
1.16.1 | 16 مايو 2018 | 30 مايو 2020 |
1.16.0 | 15 مارس 2018 | 30 مايو 2020 |
1.15.0 | 14 نوفمبر 2017 | 30 مايو 2020 |
1.14.0 | 28 أكتوبر 2017 | 30 مايو 2020 |
1.13.0 | 25 أغسطس 2017 | 30 مايو 2020 |
1.12.0 | 11 يوليو2017 | 30 مايو 2020 |
1.11.0 | 10 مايو 2017 | 30 مايو 2020 |
1.10.0 | 11 مارس 2017 | 30 مايو 2020 |
1.9.6 | 21 فبراير 2017 | 30 مايو 2020 |
1.9.5 | 31 يناير 2017 | 30 مايو 2020 |
1.9.4 | 24 نوفمبر 2016 | 30 مايو 2020 |
1.9.3 | 30 أكتوبر 2016 | 30 مايو 2020 |
1.9.2 | 28 أكتوبر 2016 | 30 مايو 2020 |
1.9.1 | 26 أكتوبر 2016 | 30 مايو 2020 |
1.9.0 | 3 أكتوبر 2016 | 30 مايو 2020 |
1.8.1 | 30 يونيو، 2016 | 30 مايو 2020 |
1.8.0 | 14 يونيو 2016 | 30 مايو 2020 |
1.7.1 | 30 أبريل 2016 | 30 مايو 2020 |
1.7.0 | 27 أبريل 2016 | 30 مايو 2020 |
1.6.0 | 29 مارس 2016 | 30 مايو 2020 |
1.5.1 | 31 ديسمبر 2015 | 30 مايو 2020 |
1.5.0 | 4 ديسمبر 2015 | 30 مايو 2020 |
1.4.0 | 5 أكتوبر 2015 | 30 مايو 2020 |
1.3.0 | 5 أكتوبر 2015 | 30 مايو 2020 |
1.2.0 | 05 أغسطس 2015 | 30 مايو 2020 |
1.1.0 | 09 يوليو 2015 | 30 مايو 2020 |
1.0.1 | 12 مايو 2015 | 30 مايو 2020 |
1.0.0 | 7 أبريل 2015 | 30 مايو 2020 |
0.9.5-الإصدار التجريبي | 09 مارس 2015 | 29 فبراير 2016 |
0.9.4-الإصدار التجريبي | 17 فبراير 2015 | 29 فبراير 2016 |
0.9.3-الإصدار التجريبي | 13 يناير 2015 | 29 فبراير 2016 |
0.9.2-الإصدار التجريبي | 19 ديسمبر 2014 | 29 فبراير 2016 |
0.9.1-الإصدار التجريبي | 19 ديسمبر 2014 | 29 فبراير 2016 |
0.9.0-الإصدار التجريبي | 10 ديسمبر 2014 | 29 فبراير 2016 |
الأسئلة المتداولة
كيف سيتم إخطاري بانتهاء حزمة SDK؟
ستقدم Microsoft إشعاراً مسبقاً قبل 12 شهراً من انتهاء دعم SDK المتقاعد لتسهيل الانتقال السلس إلى SDK المدعوم. سنعلمك من خلال قنوات الاتصال المختلفة: مدخل Azure وتحديثات Azure والاتصال المباشر بمسؤولي الخدمة المعينين.
هل يمكنني تأليف تطبيقات باستخدام حزمة Azure Cosmos DB SDK التي سيتم إيقاف العمل بها خلال فترة 12 شهراً؟
نعم، ستكون قادراً على تأليف التطبيقات ونشرها وتعديلها باستخدام Azure Cosmos DB SDK الذي سيتم إيقافه خلال فترة الإشعار التي تبلغ 12 شهراً. نوصي بالترحيل إلى إصدار أحدث مدعوم من Azure Cosmos DB SDK خلال فترة الإشعار التي تبلغ 12 شهراً، حسب الاقتضاء.
بعد تاريخ التقاعد، ماذا يحدث للتطبيقات التي تستخدم Azure Cosmos DB SDK غير المدعوم؟
بعد تاريخ التقاعد، لن يقوم Azure Cosmos DB بعد الآن بإجراء إصلاحات للأخطاء أو إضافة ميزات جديدة أو تقديم الدعم لإصدارات SDK المتوقفة. إذا كنت تفضل عدم الترقية، فسيستمر تقديم الطلبات المرسلة من الإصدارات المتوقفة من SDK بواسطة خدمة Azure Cosmos DB.
ما إصدارات SDK التي ستحتوي على أحدث الميزات والتحديثات؟
ستتم إضافة الميزات والتحديثات الجديدة فقط إلى أحدث إصدار ثانوي من أحدث إصدار SDK رئيسي مدعوم. نوصي دائماً باستخدام أحدث إصدار للاستفادة من الميزات الجديدة وتحسينات الأداء وإصلاحات الأخطاء. إذا كنت تستخدم إصداراً قديماً غير متقاعد من SDK، فستظل طلباتك إلى Azure Cosmos DB تعمل، ولكن لن تتمكن من الوصول إلى أي إمكانات جديدة.
ماذا أفعل إذا لم أتمكن من تحديث طلبي قبل الموعد النهائي؟
نوصي بالترقية إلى أحدث إصدار من SDK في أقرب وقت ممكن. بعد وضع علامة على SDK للتقاعد، سيكون لديك 12 شهراً لتحديث تطبيقك. إذا لم تتمكن من التحديث بحلول تاريخ التقاعد، فسيستمر Azure Cosmos DB في تقديم الطلبات المرسلة من الإصدارات المتقاعدة من SDK، لذلك ستستمر تطبيقاتك قيد التشغيل. لكن Azure Cosmos DB لن يُجري إصلاحات للأخطاء أو يضيف ميزات جديدة أو يوفر دعماً لإصدارات SDK المتقاعدة.
إذا كانت لديك خطة دعم وتحتاج إلى دعم فني، فاتصل بنا عن طريق ملء بطاقة دعم.
كيف يمكنني طلب إضافة ميزات إلى SDK أو موصل؟
لا تتم دائماً إضافة ميزات جديدة إلى كل SDK أو موصل على الفور. إذا كانت هناك ميزة غير مدعمة وتريد إضافتها، يرجى إضافة تعليقات إلى منتدى المجتمع.