Задать свойства базы данных при ее создании с помощью SqlDatabase.createAsync () - PullRequest
0 голосов
/ 04 ноября 2019

Это вопрос о библиотеках управления Azure для Java.

Сначала немного предыстории:

REST API управления Azure упоминает в определении createorupdate возможностьчтобы создать базу данных и установить различные свойства базы данных, как это (пример со страницы):

{
  "location": "southeastasia",
  "sku": {
    "name": "S0",
    "tier": "Standard"
  },
  "properties": {
    "createMode": "Default",
    "collation": "SQL_Latin1_General_CP1_CI_AS",
    "maxSizeBytes": 1073741824
  }
}

Я смотрю, как выполнить аналогичный запрос от Библиотеки управления Azure для Java .

До сих пор я нашел, как установить часть "sku". Это делается с помощью соответствующего ServiceObjectiveName объекта:

final SqlServer sqlServer = ...get SQL server object ...;

final Creatable<SqlDatabase> myDb = sqlServer.databases()
            .define(targetDBName)
            .withServiceObjective(ServiceObjectiveName.fromString("S0"));
...

myDb.createAsync(...); // create the db with sku S0

Но я не могу понять, как установить свойства. Для моей цели мне нужно установить немного другие свойства, чем в примере. А именно конкретные properties.maxSizeBytes и properties.autoPauseDelay.

Я даже нашел .withMaxSizeBytes() метод здесь , но он помечен как устаревший без объяснения причин.

Я не нашел способа установить autoPauseDelay.

1 Ответ

1 голос
/ 07 ноября 2019

Копая в azure-sdk-for-java , я сожалею, что не нашел никаких методов для установки этих свойств.

Сложный обходной путь, о котором я думаю, заключается в использовании развертывания ресурсов. Он поддерживается в Java SDK:

azure.deployments().define(deploymentName)
        .withExistingResourceGroup(rgName)
        .withTemplate(templateJson)
        .withParameters("{}")
        .withMode(DeploymentMode.INCREMENTAL)
        .create();

А вот пример, который может дать вам некоторые рекомендации: DeployUsingARMTemplate

Кстати, вы можете попытаться создатьбазу данных на портале Azure, а затем вы можете загрузить шаблон на последнем этапе создания:

enter image description here

...