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.

  1. 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
    
  2. Instal AutoRest menggunakan NPM.

    npm install -g autorest
    
  3. Fork dan kloning repositori azure-rest-api-specs di komputer lokal Anda dan buka lokasi kloning dari terminal komputer Anda.

  4. 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.

  5. 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 folder java-rest-api-code, serta menyertakan kode di namespace servicefabricrest. Setelah langkah ini, Anda akan menemukan dua folder models, implementation dan dua file ServiceFabricClientAPIs.java dan package-info.java dihasilkan dalam folder java-rest-api-code.

Menyertakan dan menggunakan klien yang dihasilkan dalam proyek Anda

  1. 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.

  2. 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>
    
  3. 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);
    
  4. 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.

  1. removeReplica kekosongan publik (nodeName String, partisiID UUID, replicaId String, forceRemove Boolean, Waktu tunggu lama)
    • Ini adalah varian sinkron dari panggilan API removeReplica
  2. 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
  3. public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
    • Varian panggilan API ini dapat digunakan jika Anda ingin menggunakan pemrograman asinkron reaktif
  4. 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