API Klien Java Azure Service Fabric
API klien Service Fabric memungkinkan penyebaran dan pengelolaan aplikasi serta kontainer berbasis layanan mikro di kluster Service Fabric di Azure, di lokasi, pada mesin pengembangan lokal atau di cloud lainnya. Artikel ini menjelaskan cara membuat dan menggunakan API klien Java Service Fabric di bagian atas API REST klien Service Fabric
Membuat kode klien menggunakan AutoRest
AutoRest adalah alat yang membuat pustaka klien untuk mengakses layanan web RESTful. Input ke AutoRest adalah spesifikasi yang menjelaskan REST API menggunakan format Spesifikasi OpenAPI. REST API klien Service Fabric mengikuti spesifikasi ini.
Ikuti langkah-langkah yang disebutkan di bawah ini untuk membuat kode klien Java Service Fabric menggunakan alat AutoRest.
Instal nodejs dan NPM di komputer Anda
Jika Anda menggunakan Linux:
sudo apt-get install npm sudo apt install nodejs
Jika Anda menggunakan Mac OS X:
brew install node
Instal AutoRest menggunakan NPM.
npm install -g autorest
Fork dan kloning repositori azure-rest-api-specs di komputer lokal Anda dan buka lokasi kloning dari terminal komputer Anda.
Buka lokasi yang disebutkan di bawah ini di repositori kloning Anda.
cd specification\servicefabric\data-plane\Microsoft.ServiceFabric\stable\6.0
Catatan
Jika versi kluster Anda bukan 6.0.*, uka direktori yang sesuai di folder stabil.
Jalankan perintah autorest berikut untuk menghasilkan kode klien Java.
autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]
Berikut adalah contoh yang menunjukkan penggunaan autorest.
autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrest
Perintah berikut menjadikan file spesifikasi
servicefabric.json
sebagai input dan menghasilkan kode klien Java di folderjava-rest-api-code
, serta menyertakan kode di namespaceservicefabricrest
. Setelah langkah ini, Anda akan menemukan dua foldermodels
,implementation
dan dua fileServiceFabricClientAPIs.java
danpackage-info.java
dihasilkan dalam folderjava-rest-api-code
.
Menyertakan dan menggunakan klien yang dihasilkan dalam proyek Anda
Tambahkan kode yang dihasilkan dengan tepat ke dalam proyek Anda. Sebaiknya Anda membuat pustaka menggunakan kode yang dihasilkan dan menyertakan pustaka ini ke dalam proyek Anda.
Jika Anda membuat pustaka, sertakan dependensi berikut dalam project pustaka Anda. Jika Anda mengikuti pendekatan yang berbeda, sertakan dependensi dengan tepat.
GroupId: com.microsoft.rest Artifactid: client-runtime Version: 1.2.1
Misalnya, jika Anda menggunakan sistem build Maven, sertakan yang berikut ini dalam file
pom.xml
Anda:<dependency> <groupId>com.microsoft.rest</groupId> <artifactId>client-runtime</artifactId> <version>1.2.1</version> </dependency>
Buat RestClient menggunakan kode berikut:
RestClient simpleClient = new RestClient.Builder() .withBaseUrl("http://<cluster-ip or name:port>") .withResponseBuilderFactory(new ServiceResponseBuilder.Factory()) .withSerializerAdapter(new JacksonAdapter()) .build(); ServiceFabricClientAPIs client = new ServiceFabricClientAPIsImpl(simpleClient);
Gunakan objek klien dan lakukan panggilan yang sesuai berdasarkan kebutuhan. Berikut adalah beberapa contoh yang menunjukkan penggunaan objek klien. Kami berasumsi bahwa paket aplikasi dibuat dan diunggah ke penyimpanan gambar sebelum menggunakan API di bawah ini.
Sediakan aplikasi
ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath(); imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>"); client.provisionApplicationType(imageStorePath);
Membuat aplikasi
ApplicationDescription applicationDescription = new ApplicationDescription(); applicationDescription.withName("<application-uri>"); applicationDescription.withTypeName("<application-type>"); applicationDescription.withTypeVersion("<application-version>"); client.createApplication(applicationDescription);
Memahami kode yang dihasilkan
Untuk setiap API, Anda akan menemukan empat kelebihan implementasi. Jika ada parameter opsional, Anda akan menemukan empat variasi lagi termasuk parameter opsional tersebut. Misalnya, pertimbangkan API removeReplica
.
- removeReplica kekosongan publik (nodeName String, partisiID UUID, replicaId String, forceRemove Boolean, Waktu tunggu lama)
- Ini adalah varian sinkron dari panggilan API removeReplica
- public ServiceFuture<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback<Void> serviceCallback)
- Varian panggilan API ini dapat digunakan jika Anda ingin menggunakan pemrograman asinkron berbasis masa depan dan menggunakan panggilan balik
- public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
- Varian panggilan API ini dapat digunakan jika Anda ingin menggunakan pemrograman asinkron reaktif
- public Observable<ServiceResponse<Void>> removeReplicaWithServiceResponseAsync(String nodeName, UUID partitionId, String replicaId)
- Varian panggilan API ini dapat digunakan jika Anda ingin menggunakan pemrograman asinkron reaktif dan menangani respons istirahat RAW
Langkah berikutnya
- Pelajari tentang REST API Service Fabric