这是关于Java的Azure管理库的问题。
首先,了解一些背景:
Azure管理REST API在createorupdate定义中提到了创建数据库并设置不同数据库属性的能力(例如页面中的示例):
{
"location": "southeastasia",
"sku": {
"name": "S0",
"tier": "Standard"
},
"properties": {
"createMode": "Default",
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 1073741824
}
}
我正在寻找如何向Azure Management Libraries for 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()
方法here,但已将其标记为已弃用,没有任何解释。
我还没有找到设置autoPauseDelay
的任何方法。
答案 0 :(得分:1)
通过挖掘azure-sdk-for-java,很抱歉,我没有找到任何设置这些属性的方法。
我想到的复杂的解决方法是使用资源部署。在Java SDK中受支持:
azure.deployments().define(deploymentName)
.withExistingResourceGroup(rgName)
.withTemplate(templateJson)
.withParameters("{}")
.withMode(DeploymentMode.INCREMENTAL)
.create();
下面是一个可以为您提供指导的示例:DeployUsingARMTemplate
顺便说一句,您可以尝试在Azure门户上创建数据库,然后可以在创建的最后一步下载模板: