как установить версию приложения по умолчанию в пакете Azure с помощью java sdk

Есть ли способ установить версию приложения по умолчанию в учетной записи пакетной службы Azure с помощью java sdk? Образец скрипта, который у них есть в git, не показывает, как установить версию по умолчанию (https://github.com/Azure-Samples/batch-java-manage-batch-accounts/blob/master/src/main/java/com/microsoft/azure/management/batch/samples/ManageBatchAccount.java).

Также я пытался покопаться в интерфейсе (https://github.com/Azure/azure-libraries-for-java/blob/master/azure-mgmt-batch/src/main/java/com/microsoft/azure/management/batch/Application.java), чтобы получить некоторые подсказки, но не смог увидеть ничего, что поддерживает обновление версии по умолчанию.

ОБНОВЛЕНИЕ:

Мне удалось запустить обновление версии, следуя предложению @brklein:

BatchApplication batchApplication = batchAccount.applications().get(applicationName)
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(applicationId, tenantId, appSecret, AzureEnvironment.AZURE)
BatchManager batchManager = BatchManager.authenticate(credentials, subscriptionId)
ApplicationsInner applicationsInner = batchManager.inner().applications()
ApplicationUpdateParameters parameters = new ApplicationUpdateParameters(defaultVersion: DEFAULT_APP_VERSION)
applicationsInner.update(resourceGroupName, batchAccountName, batchApplication.id(), parameters)

person Deewendra Shrestha    schedule 15.04.2019    source источник


Ответы (1)


Не похоже, что версия по умолчанию находится на клиентском уровне SDK.

Чтобы обойти это, вы должны иметь возможность вручную вызывать методы реализации, которые имеют полную функциональность REST API (поскольку они создаются автоматически). Для этого создайте CreateApplicationParameters или ApplicationUpdateParameters и установите свойство defaultVersion. Затем вы можете вызвать методы создания или обновления реализаций вручную (https://github.com/Azure/azure-libraries-for-java/blob/78e8ff2940eba34bc63f8e7be6807a377500f5c7/azure-mgmt-batch/src/main/java/com/microsoft/azure/management/batch/implementation/ApplicationsInner.java#L474).

person brklein    schedule 15.04.2019
comment
Спасибо за ответ, это действительно полезно. Есть ли способ получить экземпляр AppliactionsInner, не создавая его вручную? Похоже, что единственный способ получить его - через BatchManagementClientImpl ‹-BatchManager, но batchManager - это частное свойство в com.microsoft.azure.management.Azure. - person Deewendra Shrestha; 16.04.2019
comment
Я считаю, что вам нужно будет создать свой собственный BatchManager, и тогда вы сможете получить его от средства доступа. - person brklein; 16.04.2019