通过Azure资源管理器从公共blob将.bacpac导入SQL Azure

时间:2016-09-20 17:19:52

标签: sql-server azure azure-sql-database azure-resource-manager

我在部署过程中从原始SQL Azure数据库中创建了一个.bacpac,我想将其导入新数据库。为此,我希望有一个github页面,其中包含通常的Deploy to Azure按钮,只需一次单击即可执行部署任务,并设置我的整个应用程序。

但是,要做到这一点,我需要在数据库上设置一些初始数据。在咨询了互联网之后,我看到了帖子Using Azure Resource Manager to Copy Azure SQL Databases,它有类似的问题。

现在,我在ARM模板中运行了一个MSDeploy扩展,该扩展从公共azure blob部署网站。我理想情况下也喜欢用数据库执行此操作,但命令似乎要求 storageKeyType和storageKey参数被填充。

有没有办法绕过这个限制?我应该放弃并让我的应用程序执行数据库的初始设置吗?在公共github模板中共享存储密钥似乎不是一个非常好的计划!

以下是代码段:

"resources": [
        {
          "name": "Import",
          "type": "extensions",
          "apiVersion": "2014-04-01-preview",
          "dependsOn": [
            "[variables('sqlsrvmymisName')]",
            "[variables('sqldbmymisName')]"
          ],
          "properties": {
            "storageUri": "https://publicblob.blob.core.windows.net/artifacts/publicblob.bacpac",
            "administratorLogin": "MasterAccount",
            "administratorLoginPassword": "P@ssw0rd",
            "operationMode": "Import",
            "storageKeyType": "Primary",
            "storageKey": ""
          }
        }
      ]

1 个答案:

答案 0 :(得分:4)

如果你真的希望它公开,试试这个:

"storageKeyType": "SharedAccessKey",
"storageKey": "?",