Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Клиентские API Service Fabric позволяют развертывать приложения и контейнеры на основе микрослужб в кластере Service Fabric в Azure, локально, на локальном компьютере разработки или в другом облаке. В этой статье описывается, как создавать и использовать API клиента Java Service Fabric на основе REST API клиента Service Fabric
Создание клиентского кода с помощью autoRest
AutoRest — это средство, которое создает клиентские библиотеки для доступа к веб-службам RESTful. Входные данные в AutoRest — это спецификация, описывающая REST API с помощью формата спецификации OpenAPI. REST API клиента Service Fabric соответствуют этой спецификации.
Выполните описанные ниже действия, чтобы создать клиентский код Service Fabric Java с помощью средства автореста.
Установите Node.js и NPM на компьютере.
Если вы используете Linux, выполните следующие действия.
sudo apt-get install npm sudo apt install nodejsЕсли вы используете macOS X, выполните следующие действия:
brew install nodeУстановите AutoRest с помощью npm.
npm install -g autorestСделайте форк и клонируйте репозиторий azure-rest-api-specs на локальном компьютере, затем перейдите в папку с клонированным репозиторием через терминал вашего компьютера.
Перейдите в расположение, указанное ниже в клонированного репозитория.
cd specification\servicefabric\data-plane\Microsoft.ServiceFabric\stable\6.0Примечание.
Если версия кластера не 6.0.*, перейдите в соответствующий каталог в стабильной папке.
Выполните следующую команду AutoRest, чтобы создать клиентский код Java.
autorest --input-file= servicefabric.json --java --output-folder=[output-folder-name] --namespace=[namespace-of-generated-client]Ниже приведен пример использования AutoRest.
autorest --input-file=servicefabric.json --java --output-folder=java-rest-api-code --namespace=servicefabricrestСледующая команда принимает в качестве входных данных файл спецификации
servicefabric.jsonи создает Java клиентский код в папкеjava-rest-api-code, заключая его в пространство именservicefabricrest. На этом шаге вы найдете две папкиmodelsimplementationи два файлаServiceFabricClientAPIs.java,package-info.javaсозданные в папкеjava-rest-api-code.
Включение и использование созданного клиента в проекте
Добавьте созданный код соответствующим образом в проект. Рекомендуется создать библиотеку с помощью созданного кода и включить эту библиотеку в проект.
Если вы создаете библиотеку, включите в проект библиотеки следующую зависимость. Если вы используете другой подход, включите зависимость соответствующим образом.
GroupId: com.microsoft.rest Artifactid: client-runtime Version: 1.2.1Например, если вы используете систему сборки Maven, включите следующее в ваш файл
pom.xml:<dependency> <groupId>com.microsoft.rest</groupId> <artifactId>client-runtime</artifactId> <version>1.2.1</version> </dependency>Создайте RestClient с помощью следующего кода:
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);Используйте клиентский объект и выполните необходимые вызовы. Ниже приведены некоторые примеры, демонстрирующие использование клиентского объекта. Предполагается, что пакет приложения создается и передается в хранилище образов перед использованием приведенных ниже API.
Развертывание приложения
ApplicationTypeImageStorePath imageStorePath = new ApplicationTypeImageStorePath(); imageStorePath.withApplicationTypeBuildPath("<application-path-in-image-store>"); client.provisionApplicationType(imageStorePath);Создание приложения
ApplicationDescription applicationDescription = new ApplicationDescription(); applicationDescription.withName("<application-uri>"); applicationDescription.withTypeName("<application-type>"); applicationDescription.withTypeVersion("<application-version>"); client.createApplication(applicationDescription);
Общие сведения о созданном коде
Для каждого API вы найдете четыре перегрузки реализации. Если есть необязательные параметры, то вы найдете еще четыре варианта, включая эти необязательные параметры. Например, рассмотрим API removeReplica.
-
public void удалитьРеплику(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout)
- Это синхронный вариант вызова API removeReplica
-
public ServiceFuture<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId, Boolean forceRemove, Long timeout, final ServiceCallback<Void> serviceCallback)
- Этот вариант вызова API можно использовать, если вы хотите использовать асинхронное программирование на основе будущего и использовать обратные вызовы.
-
public Observable<Void> removeReplicaAsync(String nodeName, UUID partitionId, String replicaId)
- Этот вариант вызова API можно использовать, если вы хотите использовать реактивное асинхронное программирование
-
public Observable<ServiceResponse Void< removeReplicaWithServiceResponseAsync>>(String nodeName, UUID partitionId, String replicaId)
- Этот вариант вызова API можно использовать, если вы хотите применять реактивное асинхронное программирование и работать с необработанным ответом REST.
Дальнейшие действия
- Сведения о REST API Service Fabric