我最近一直在使用Fluent Azure库来处理我正在开发的新应用,并且一切顺利,除非我尝试从bacpac文件创建新数据库。我已经尝试了几种方法来实现这一点,到目前为止还没有 - 我总是留下一个空白数据库(意味着bacpac文件没有导入)。
以下是我尝试过的一些示例代码:
var azure = CreateAzureInstance();
var sqlServer = azure.SqlServers.List().ToList().First(x => x.Name == serverName);
var storage = azure.StorageAccounts.GetById(
"/subscriptions/xxxxxx-xxxx-xxxx-xxxxx-xxxxxx/resourceGroups/xxxxxxxx/providers/Microsoft.Storage/storageAccounts/xxxxxxx");
sqlServer.Databases.Define(tenantName).Create().ImportBacpac(storage, "bacpacs", "basetenantdb.bacpac")
这不是身份验证的问题,因为我创建的CreateAzureInstance方法成功验证了连接,而.Create()命令工作得很好 - 它只是让它导入看起来完全忽略的bacpac文件。
我还尝试在一个命令中创建数据库,然后使用ImportFrom()来运行导入,但效果相同。样品:
var azure = CreateAzureInstance();
var sqlServer = azure.SqlServers.List().ToList().First(x => x.Name == serverName);
var storage = azure.StorageAccounts.GetById(
"/subscriptions/xxxx-xxx-xxxx-xxxxxxxx/resourceGroups/xxxxxxx/providers/Microsoft.Storage/storageAccounts/xxxxxxxx");
sqlServer.Databases.Define(tenantName).Create();
sqlServer.Databases.Define(tenantName).ImportFrom(storage, "bacpacs", "basetenantdb.bacpac");
在导入电话中," bacpacs"是存储帐户中的容器名称,basetenantdb.bacpac是容器内的文件名。
非常感谢任何想法,并提前感谢您!