ar ar ar ar ar ar ar ar ar ar ar ar en ar ar ar ar ar ar ar ar ar en ar en ar pl ar ar en ar ar ar en ar fa ar ar ar ar en ar en ar en ar ar en ar en ar ar en ar en ar en ar en ar ar ar ar ur ar ar ar ar ar ar ar ar en ar ar ur ar ar ar ar ar ar ar ar en
تسمح واجهات برمجة تطبيقات عميل Service Fabric بتوزيع وإدارة التطبيقات والحاويات المستندة إلى الخدمات المصغرة في نظام مجموعة Service Fabric على Azure أو محليا أو على جهاز التطوير المحلي أو في سحابة أخرى. توضح هذه المقالة كيفية إنشاء واستخدام واجهات برمجة تطبيقات عميل Service Fabric Java أعلى واجهات برمجة تطبيقات REST لعميل Service Fabric
إنشاء رمز العميل باستخدام AutoRest
AutoRest هي أداة تقوم بإنشاء مكتبات العملاء للوصول إلى خدمات الويب RESTful. الإدخال إلى AutoRest هو مواصفات تصف واجهة برمجة تطبيقات REST باستخدام تنسيق مواصفات OpenAPI. واجهات برمجة تطبيقات REST لعميل Service Fabric اتبع هذه المواصفات.
اتبع الخطوات المذكورة أدناه لإنشاء رمز عميل Service Fabric Java باستخدام أداة AutoRest.
قم بتثبيت nodejs وNPM على جهازك
إذا كنت تستخدم Linux ثم:
sudo apt-get install npm sudo apt install nodejs
إذا كنت تستخدم نظام التشغيل Mac OS X، فحينئذ:
تثبيت AutoRest باستخدام NPM.
npm install -g autorest
قم بنسخ مستودع azure-rest-api-specs في جهازك المحلي وانتقل إلى الموقع المستنسخ من محطة جهازك.
انتقل إلى الموقع المذكور أدناه في المستودع المستنسخ.
إذا لم يكن إصدار نظام المجموعة الخاص بك 6.0.* فانتقل إلى الدليل المناسب في المجلد المستقر.
قم بتشغيل أمر autorest التالي لإنشاء التعليمة البرمجية لعميل Java.
autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]
فيما يلي مثال يوضح استخدام autorest.
autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrest
يأخذ الأمر التالي ملف المواصفات servicefabric.json كإدخال وينشئ تعليمات برمجية لعميل Java في java-rest-api- codeمجلد ويرفق التعليمة البرمجية في مساحة الاسم servicefabricrest. بعد هذه الخطوة ستجد مجلدين models، وimplementation وملفين ServiceFabricClientAPIs.java وpackage-info.java إنشاؤهما في المجلد java-rest-api-code.
تضمين العميل الذي تم إنشاؤه واستخدامه في مشروعك
أضف التعليمة البرمجية التي تم إنشاؤها بشكل مناسب إلى مشروعك. نوصي بإنشاء مكتبة باستخدام التعليمة البرمجية التي تم إنشاؤها وتضمين هذه المكتبة في مشروعك.
إذا كنت تقوم بإنشاء مكتبة، فقم بتضمين التبعية التالية في مشروع مكتبتك. إذا كنت تتبع نهجا مختلفا، فقم بتضمين التبعية بشكل مناسب.
GroupId: com.microsoft.rest Artifactid: client-runtime Version: 1.2.1
على سبيل المثال، إذا كنت تستخدم نظام إنشاء Maven قم بتضمين ما يلي في ملفك pom.xml:
إنشاء RestClient باستخدام التعليمة البرمجية التالية:
RestClient simpleClient = new RestClient.Builder() .withBaseUrl("http:// ") .withResponseBuilderFactory(new ServiceResponseBuilder.Factory()) .withSerializerAdapter(new JacksonAdapter()) .build(); ServiceFabricClientAPIs client = new ServiceFabricClientAPIsImpl(simpleClient);
استخدم عنصر العميل وقم بإجراء المكالمات المناسبة كما هو مطلوب. فيما يلي بعض الأمثلة التي توضح استخدام عنصر العميل. نفترض أن حزمة التطبيق تم إنشاؤها وتحميلها في متجر الصور قبل استخدام واجهة برمجة التطبيقات أدناه.
ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath(); imageStorePath.withApplicationTypeBuildPath(" "); client.provisionApplicationType(imageStorePath);
ApplicationDescription applicationDescription = new ApplicationDescription(); applicationDescription.withName(" "); applicationDescription.withTypeName(" "); applicationDescription.withTypeVersion(" "); client.createApplication(applicationDescription);
فهم التعليمات البرمجية التي تم إنشاؤها
لكل واجهة برمجة تطبيقات، ستجد أربعة أحمال زائدة من التنفيذ. إذا كانت هناك معلمات اختيارية، فستجد أربعة اختلافات أخرى بما في ذلك تلك المعلمات الاختيارية. على سبيل المثال، ضع في اعتبارك واجهة برمجة التطبيقات removeReplica.
public void removeReplica(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
هذا هو البديل المتزامن لاستدعاء واجهة برمجة تطبيقات removeReplica
public ServiceFuture  removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback  serviceCallback)
يمكن استخدام هذا البديل من استدعاء واجهة برمجة التطبيقات إذا كنت ترغب في استخدام البرمجة غير المتزامنة المستندة إلى المستقبل واستخدام عمليات رد الاتصال
public Observable  removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
يمكن استخدام هذا البديل من استدعاء API إذا كنت ترغب في استخدام البرمجة غير المتزامنة التفاعلية
public Observable > removeReplicaWithServiceResponseAsync(String nodeName, UUID partitionId, String replicaId)
يمكن استخدام هذا البديل من استدعاء API إذا كنت ترغب في استخدام البرمجة غير المتزامنة التفاعلية والتعامل مع استجابة RAW للراحة