APIs do cliente Azure Service Fabric Java

Service Fabric APIs do cliente permite implantar e gerir aplicações e contentores baseados em microserviços num aglomerado de Service Fabric em Azure, no local, na máquina de desenvolvimento local ou noutra nuvem. Este artigo descreve como gerar e usar Service Fabric APIs do cliente Java em cima das APIs do cliente Service Fabric

Gere o código do cliente utilizando o AutoRest

O AutoRest é uma ferramenta que gera bibliotecas de clientes para aceder a serviços web RESTful. Entrada para AutoRest é uma especificação que descreve a API REST utilizando o formato De especificação OpenAPI. Service Fabric CLIENTE REST APIs seguem esta especificação.

Siga os passos abaixo mencionados para gerar Service Fabric código cliente Java utilizando a ferramenta AutoRest.

  1. Instalar nodejs e NPM no seu computador

    Se estiver a usar o Linux, então:

     sudo apt-get install npm
     sudo apt install nodejs
    

    Se estiver a utilizar o Mac OS X, então:

     brew install node
    
  2. Instale o auto-reto com recurso APM.

     npm install -g autorest
    
  3. O repositório de óculos de recaída de azure-rest-api-api na sua máquina local e vá para a localização clonada a partir do terminal da sua máquina.

  4. Vá ao local mencionado abaixo na sua repo clonada.

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

    Nota

    Se a sua versão de cluster não for de 6.0.* então vá para o diretório apropriado na pasta estável.

  5. Executar o seguinte comando mais auto-mais para gerar o código do cliente Java.

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

    Abaixo está um exemplo que demonstra o uso da auto-autoria.

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

    O seguinte comando toma servicefabric.json o ficheiro de especificações como entrada e gera código cliente Java na java-rest-api- code pasta e encerra o código no servicefabricrest espaço de nome. Após este passo, encontraria duas pastas models, implementation e dois ficheiros ServiceFabricClientAPIs.java e package-info.java gerados na java-rest-api-code pasta.

Incluir e utilizar o cliente gerado no seu projeto

  1. Adicione o código gerado adequadamente no seu projeto. Recomendamos que crie uma biblioteca utilizando o código gerado e inclua esta biblioteca no seu projeto.

  2. Se estiver a criar uma biblioteca, então inclua a seguinte dependência no projeto da sua biblioteca. Se estiver a seguir uma abordagem diferente, então inclua a dependência adequadamente.

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

    Por exemplo, se estiver a utilizar o sistema de construção Maven, inclua o seguinte no seu pom.xml ficheiro:

     	<dependency>
     	  <groupId>com.microsoft.rest</groupId>
     	  <artifactId>client-runtime</artifactId>
     	  <version>1.2.1</version>
     	</dependency>
    
  3. Criar um RestClient utilizando o seguinte código:

     	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. Use o objeto cliente e faça as chamadas apropriadas conforme necessário. Aqui estão alguns exemplos que demonstram o uso do objeto do cliente. Assumimos que o pacote de aplicações é construído e enviado para a loja de imagens antes de usar o abaixo da API.

    • Provisão de um pedido

        	ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath();
        	imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>");
        	client.provisionApplicationType(imageStorePath);
      
    • Criar uma aplicação

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

Compreender o código gerado

Para cada API encontrará quatro sobrecargas de implementação. Se houver parâmetros opcionais, então encontrará mais quatro variações, incluindo os parâmetros opcionais. Por exemplo, considere a API removeReplica.

  1. vazio público removeReplica (String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
    • Esta é a variante sincronizada da chamada API removida
  2. serviço públicoFutureVoid<> removeReplicaAsync (String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, serviço finalCallbackVoid>< serviceCallback)
    • Esta variante da chamada API pode ser usada se quiser utilizar a programação assíncrona baseada no futuro e utilizar chamadas
  3. público ObservableVoid<> removeReplicaAsync (String nodeName, UUID partitionId, String replicaId)
    • Esta variante da chamada API pode ser usada se quiser utilizar uma programação assíncrona reativa
  4. público ObservableServiceResponseVoid<<>> removeReplicaWithServiceResponseAsync (String nodeName, UUID partitionId, String replicaId)
    • Esta variante da chamada API pode ser usada se quiser usar programação assíncrona reativa e lidar com a resposta ao repouso RAW

Passos seguintes