Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le API client di Service Fabric consentono la distribuzione e la gestione di applicazioni e contenitori basati su microservizi in un cluster di Service Fabric in Azure, in locale, in un computer di sviluppo locale o in un altro cloud. Questo articolo descrive come generare e usare le API client Java di Service Fabric oltre alle API REST client di Service Fabric
Generare il codice client usando AutoRest
AutoRest è uno strumento che genera librerie client per l'accesso ai servizi Web RESTful. L'input per AutoRest è una specifica che descrive l'API REST usando il formato della specifica OpenAPI. Le API REST client di Service Fabric seguono questa specifica.
Seguire i passaggi indicati di seguito per generare il codice client Java di Service Fabric usando lo strumento AutoRest.
Installare nodejs e NPM nel computer
Se si usa Linux, procedere come illustrato di seguito:
sudo apt-get install npm sudo apt install nodejsSe si usa macOS X, procedere come illustrato di seguito:
brew install nodeInstallare AutoRest usando NPM.
npm install -g autorestCreare una copia tramite fork del repository azure-rest-api-specs e clonarlo nel computer locale, quindi passare alla posizione clonata dal terminale del computer.
Passare alla posizione indicata di seguito nel repository clonato.
cd specification\servicefabric\data-plane\Microsoft.ServiceFabric\stable\6.0Annotazioni
Se la versione del cluster non è 6.0.* passare alla directory appropriata nella cartella stabile.
Eseguire il comando AutoRest seguente per generare il codice client Java.
autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]Di seguito è riportato un esempio che illustra l'utilizzo di AutoRest.
autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrestIl comando seguente accetta come input il file di specifica
servicefabric.jsone genera codice client Java nella cartellajava-rest-api-codee racchiude il codice nello spazio dei nomiservicefabricrest. Dopo questo passaggio si troveranno due cartellemodelseimplementationdue fileServiceFabricClientAPIs.javaepackage-info.javagenerati nellajava-rest-api-codecartella .
Includere e usare il client generato nel progetto
Aggiungere il codice generato in modo appropriato al progetto. È consigliabile creare una libreria usando il codice generato e includere questa libreria nel progetto.
Se si sta creando una libreria, includere la dipendenza seguente nel progetto della libreria. Se si utilizza un approccio diverso, includere la dipendenza in modo appropriato.
GroupId: com.microsoft.rest Artifactid: client-runtime Version: 1.2.1Ad esempio, se si usa il sistema di compilazione Maven, includere quanto segue nel
pom.xmlfile:<dependency> <groupId>com.microsoft.rest</groupId> <artifactId>client-runtime</artifactId> <version>1.2.1</version> </dependency>Creare un RestClient usando il codice seguente:
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);Usare l'oggetto client e effettuare le chiamate appropriate in base alle esigenze. Ecco alcuni esempi che illustrano l'utilizzo dell'oggetto client. Si presuppone che il pacchetto dell'applicazione venga compilato e caricato nell'archivio immagini prima di usare le API seguenti.
Fornire un'applicazione
ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath(); imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>"); client.provisionApplicationType(imageStorePath);Creare un'applicazione
ApplicationDescription applicationDescription = new ApplicationDescription(); applicationDescription.withName("<application-uri>"); applicationDescription.withTypeName("<application-type>"); applicationDescription.withTypeVersion("<application-version>"); client.createApplication(applicationDescription);
Informazioni sul codice generato
Per ogni API sono disponibili quattro sovraccarichi di implementazione. Se sono presenti parametri facoltativi, è possibile trovare altre quattro varianti, inclusi i parametri facoltativi. Si consideri ad esempio l'API removeReplica.
-
public void removeReplica(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
- Questa è la variante sincrona della chiamata API removeReplica
-
public ServiceFuture<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback<Void> serviceCallback)
- Questa variante di chiamata API può essere usata se si vuole usare la programmazione asincrona basata su futuro e usare i callback
-
public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
- Questa variante di chiamata API può essere usata se si vuole usare la programmazione asincrona reattiva
-
public Observable<ServiceResponse<Void>> removeReplicaWithServiceResponseAsync(String nodeName, UUID partitionId, String replicaId)
- Questa variante di chiamata API può essere usata se si vuole usare la programmazione asincrona reattiva e gestire la risposta rest RAW
Passaggi successivi
- Informazioni sulle API REST di Service Fabric