Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les API du client Service Fabric permettent de déployer et de gérer des conteneurs et applications basées sur des microservices dans un cluster Service Fabric sur Azure, en local, sur l’ordinateur de développement local ou dans un autre cloud. Cet article décrit comment générer et utiliser des API du client Java Service Fabric sur les API REST du client Service Fabric
Générer le code client avec AutoRest
AutoRest est un outil qui génère des bibliothèques clientes pour accéder aux services web RESTful. L’entrée d’AutoRest est une spécification qui décrit l’API REST en utilisant le format de spécification OpenAPI. Les API REST du client Service Fabric suivent cette spécification.
Suivez les étapes indiquées ci-dessous pour générer le code client Java Service Fabric à l’aide de l’outil AutoRest.
Installer nodejs et NPM sur votre machine
Si vous utilisez Linux :
sudo apt-get install npm sudo apt install nodejs
Si vous utilisez Mac OS X :
brew install node
Installez AutoRest à l’aide de NPM.
npm install -g autorest
Dupliquez (fork) et clonez le référentiel azure-rest-api-specs sur votre ordinateur local et accédez à l’emplacement cloné à partir du terminal de votre ordinateur.
Accédez à l’emplacement indiqué ci-dessous dans votre dépôt cloné.
cd specification\servicefabric\data-plane\Microsoft.ServiceFabric\stable\6.0
Notes
Si votre version de cluster n’est pas 6.0.*, accédez au répertoire approprié dans le dossier stable.
Exécutez la commande autorest suivante pour générer le code client Java.
autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]
Voici un exemple illustrant l’utilisation d’autorest.
autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrest
La commande suivante prend le fichier de spécification
servicefabric.json
comme entrée, génère le code client Java dans le dossierjava-rest-api-code
et place le code dans l’espace de nomsservicefabricrest
. À la fin de cette étape, deux dossiers (models
etimplementation
) et deux fichiers (ServiceFabricClientAPIs.java
etpackage-info.java
) sont générés dans le dossierjava-rest-api-code
.
Inclure et utiliser le client généré dans votre projet
Ajoutez correctement le code généré dans votre projet. Nous vous recommandons de créer une bibliothèque avec le code généré et d’inclure cette bibliothèque dans votre projet.
Si vous créez une bibliothèque, ajoutez la dépendance suivante dans le projet de votre bibliothèque. Si vous suivez une approche différente, ajoutez la dépendance de manière appropriée.
GroupId: com.microsoft.rest Artifactid: client-runtime Version: 1.2.1
Par exemple, si vous utilisez le système de build Maven, ajoutez le code suivant à votre fichier
pom.xml
:<dependency> <groupId>com.microsoft.rest</groupId> <artifactId>client-runtime</artifactId> <version>1.2.1</version> </dependency>
Créez un RestClient avec le code suivant :
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);
Utilisez l’objet client et effectuez les appels appropriés en fonction des besoins. Voici quelques exemples qui illustrent l’utilisation de l’objet client. Nous partons du principe que le package d’application est créé et chargé sur le magasin d’images avant d’utiliser les API ci-dessous.
Provisionner une application
ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath(); imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>"); client.provisionApplicationType(imageStorePath);
Créer une application
ApplicationDescription applicationDescription = new ApplicationDescription(); applicationDescription.withName("<application-uri>"); applicationDescription.withTypeName("<application-type>"); applicationDescription.withTypeVersion("<application-version>"); client.createApplication(applicationDescription);
Présentation du code généré
Pour chaque API, vous trouverez quatre surcharges d’implémentation. S’il existe des paramètres facultatifs, vous trouverez quatre variantes supplémentaires, dont ces paramètres facultatifs. Prenons comme exemple l’API removeReplica
.
- public void removeReplica(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
- Il s’agit de la variante synchrone de l’appel d’API removeReplica
- public ServiceFuture<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback<Void> serviceCallback)
- Cette variante de l’appel d’API peut être utilisée si vous souhaitez employer une programmation asynchrone basée sur le futur et utiliser des rappels
- public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
- Cette variante de l’appel d’API peut être utilisée si vous souhaitez employer une programmation asynchrone réactive
- public Observable<ServiceResponse<Void>> removeReplicaWithServiceResponseAsync(String nodeName, UUID partitionId, String replicaId)
- Cette variante de l’appel d’API peut être utilisée si vous souhaitez employer une programmation asynchrone réactive et traiter la réponse REST RAW
Étapes suivantes
- En savoir plus sur les API REST Service Fabric