API: er för Azure Service Fabric Java-klientAzure Service Fabric Java Client APIs

Service Fabric klient-API: er gör det möjligt att distribuera och hantera mikrotjänster baserade på program och behållare i ett Service Fabric kluster på Azure, lokalt, på den lokala utvecklings datorn eller i andra moln.Service Fabric client APIs allows deploying and managing microservices based applications and containers in a Service Fabric cluster on Azure, on-premises, on local development machine or in other cloud. Den här artikeln beskriver hur du genererar och använder Service Fabric Java-klient-API: er ovanpå Service Fabric klient REST API: erThis article describes how to generate and use Service Fabric Java client APIs on top of the Service Fabric client REST APIs

Generera klient koden med hjälp av AutoRestGenerate the client code using AutoRest

AutoRest är ett verktyg som genererar klient bibliotek för åtkomst till RESTful-webbtjänster.AutoRest is a tool that generates client libraries for accessing RESTful web services. Inmatad till AutoRest är en specifikation som beskriver REST API med hjälp av OpenAPI Specification-formatet.Input to AutoRest is a specification that describes the REST API using the OpenAPI Specification format. Service Fabric klient REST-API: er följer den här specifikationen.Service Fabric client REST APIs follow this specification .

Följ stegen nedan för att generera Service Fabric Java-klient kod med hjälp av verktyget AutoRest.Follow the steps mentioned below to generate Service Fabric Java client code using the AutoRest tool.

  1. Installera nodejs och NPM på datornInstall nodejs and NPM on your machine

    Om du använder Linux:If you are using Linux then:

    sudo apt-get install npm
    sudo apt install nodejs
    

    Om du använder Mac OS X:If you are using Mac OS X then:

    brew install node
    
  2. Installera AutoRest med NPM.Install AutoRest using NPM.

    npm install -g autorest
    
  3. Förgrena och klona Azure-REST-API-specs- lagringsplatsen på din lokala dator och gå till den klonade platsen från terminalen på datorn.Fork and clone azure-rest-api-specs repository in your local machine and go to the cloned location from the terminal of your machine.

  4. Gå till den plats som anges nedan i din klonade lagrings platsen.Go to the location mentioned below in your cloned repo.

    cd specification\servicefabric\data-plane\Microsoft.ServiceFabric\stable\6.0
    

    Anteckning

    Om klustrets version inte är 6,0. * går du till lämplig katalog i mappen stabilt.If your cluster version is not 6.0.* then go to the appropriate directory in the stable folder.

  5. Kör följande AutoRest-kommando för att generera Java-klient koden.Run the following autorest command to generate the java client code.

    autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]
    

    Nedan visas ett exempel som demonstrerar användningen av AutoRest.Below is an example demonstrating the usage of autorest.

    autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrest
    

    Följande kommando använder servicefabric.json filen som indata och genererar Java-klientens kod i java-rest-api- code mappen och omsluter koden i servicefabricrest namn området.The following command takes servicefabric.json specification file as input and generates java client code in java-rest-api- code folder and encloses the code in servicefabricrest namespace. Efter det här steget hittar du två mappar models implementation och två filer ServiceFabricClientAPIs.java och package-info.java genererade i java-rest-api-code mappen.After this step you would find two folders models, implementation and two files ServiceFabricClientAPIs.java and package-info.java generated in the java-rest-api-code folder.

Ta med och Använd den genererade klienten i projektetInclude and use the generated client in your project

  1. Lägg till den genererade koden korrekt i projektet.Add the generated code appropriately into your project. Vi rekommenderar att du skapar ett bibliotek med den genererade koden och inkluderar det här biblioteket i projektet.We recommend that you create a library using the generated code and include this library in your project.

  2. Om du skapar ett bibliotek inkluderar du följande beroende i bibliotekets projekt.If you are creating a library then include the following dependency in your library's project. Om du följer en annan metod är det lämpligt att ta med beroendet.If you are following a different approach then include the dependency appropriately.

        GroupId:  com.microsoft.rest
        Artifactid: client-runtime
        Version: 1.2.1
    

    Om du till exempel använder maven build-systemet inkluderar du följande i pom.xml filen:For example, if you are using Maven build system include the following in your pom.xml file:

        <dependency>
          <groupId>com.microsoft.rest</groupId>
          <artifactId>client-runtime</artifactId>
          <version>1.2.1</version>
        </dependency>
    
  3. Skapa en RestClient med hjälp av följande kod:Create a RestClient using the following code:

        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. Använd klient objekt och gör lämpliga anrop vid behov.Use the client object and make the appropriate calls as required. Här följer några exempel som demonstrerar användningen av klient objekt.Here are some examples which demonstrate the usage of client object. Vi förutsätter att programpaketet har skapats och laddats upp i avbildnings arkivet innan du använder API: erna nedan.We assume that the application package is built and uploaded into image store before using the below API's.

    • Etablera ett programProvision an application

          ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath();
          imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>");
          client.provisionApplicationType(imageStorePath);
      
    • Skapa ett programCreate an application

          ApplicationDescription applicationDescription = new ApplicationDescription();
          applicationDescription.withName("<application-uri>");
          applicationDescription.withTypeName("<application-type>");
          applicationDescription.withTypeVersion("<application-version>");
          client.createApplication(applicationDescription);
      

Förstå den genererade kodenUnderstanding the generated code

För varje API kommer du att se fyra överlagringar av implementeringen.For every API you will find four overloads of implementation. Om det finns valfria parametrar kan du se fyra fler variationer, inklusive de valfria parametrarna.If there are optional parameters then you would find four more variations including those optional parameters. Överväg till exempel API: et removeReplica .For example consider the API removeReplica.

  1. offentlig void-removeReplica (String nodnamn, UUID partitionId, String replicaId, boolesk forceRemove, lång tids gräns)public void removeReplica(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
    • Detta är den synkrona varianten av API-anropet removeReplicaThis is the synchronous variant of the removeReplica API call
  2. offentlig ServiceFuture <Void> -removeReplicaAsync (String nodnamn, UUID partitionId, String replicaId, boolesk forceRemove, lång tids gräns, slutlig ServiceCallback <Void> ServiceCallback)public ServiceFuture<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback<Void> serviceCallback)
    • Den här varianten av API-anrop kan användas om du vill använda framtida baserad asynkron programmering och använda återanropThis variant of API call can be used if you want to use future based asynchronous programming and use callbacks
  3. offentlig <Void> removeReplicaAsync (String nodnamn, UUID partitionId, String replicaId)public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
    • Den här varianten av API-anrop kan användas om du vill använda reaktiv asynkron programmeringThis variant of API call can be used if you want to use reactive asynchronous programming
  4. offentligt observerbar <ServiceResponse<Void>>-removeReplicaWithServiceResponseAsync (String nodnamn, UUID partitionId, String replicaId)public Observable<ServiceResponse<Void>> removeReplicaWithServiceResponseAsync(String nodeName, UUID partitionId, String replicaId)
    • Den här varianten av API-anrop kan användas om du vill använda reaktiv asynkron programmering och hantera RAW rest-svarThis variant of API call can be used if you want to use reactive asynchronous programming and deal with RAW rest response

Nästa stegNext steps