Azure Powershell命令无法在Azure blob存储中存储bacpac文件

时间:2018-03-16 14:57:26

标签: azure azure-storage-blobs azure-powershell

背景

我正在尝试设置powershell脚本来创建.bacpac文件并将其存储在Azure的blob存储中。我正在使用 Get-AzureRmSqldatabaseExport 命令并将其指向我的存储容器。

该命令运行,据我所知,将在运行命令六小时后开始该过程。

问题

问题是,几分钟后,我收到一条错误消息,指出blob存储只有读取权限而不是读取和写入。

问题

如何修改powershell命令以允许我写入存储容器?这是我与容器本身有关的事情吗?我是否错误地使用blob,并且应该使用不同类型的存储类型?

更多信息

命令:

New-AzureRmSqlDatabaseExport -ResourceGroupName "rgnEverything" -ServerName "serverOne" -DatabaseName "databaseDev" -StorageKeyType "StorageAccessKey" -StorageKey "storageKeyOne" -StorageUri "storageUriOne" -AdministratorLogin "adminlogin" -AdministratorLoginPassword (ConvertTo-Secu
reString "password" -AsPlainText -Force)

我目前正在通过Azure Cloud Shell运行此命令

这是 Get-AzureRmSqlDatabaseImportExportStatus 在运行命令后立即返回的内容:

OperationStatusLink : https://management.azure.com/subscriptions/e088f9f1-aeed-401e-b8db-8bac796c43cd/resourceGroups/SweetSpot/providers/Microsoft.Sql/servers/sweetspotgolfshop/databases/SweetSpotDev/importExportOp
                      erationResults/9226c1e7-5e55-4d34-ba96-954b857c318c?api-version=2014-04-01-Preview
ErrorMessage        :
LastModifiedTime    : 3/16/2018 3:24:38 PM
QueuedTime          : 3/16/2018 3:24:35 PM
StatusMessage       : Running, Progress = 0%
Status              : InProgress

错误讯息:

Get-AzureRmSqlDatabaseImportExportStatus : BadRequest: The ImportExport operation with Request Id '9226c1e7-5e55-4d34-ba96-954b857c318c' failed due to 'Error encountered during the service operation.
        Blob https://cs2e088f9f1aeedx401exb8d.blob.core.windows.net/database-backup is not writeable.
                The remote server returned an error: (404) Not Found.
                        The remote server returned an error: (404) Not Found.
'.
At line:1 char:1
+ Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink "https: ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Get-AzureRmSqlDatabaseImportExportStatus], CloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.ImportExport.Cmdlet.GetAzureSqlDatabaseImportExportStatus

存储Uri:

-StorageUri "https://cs2e088f9f1aeedx401exb8d.blob.core.windows.net/database-backup"

1 个答案:

答案 0 :(得分:2)

您指定容器地址作为目标的问题。您需要放置文件的完整所需存储的URL,而不仅仅是容器路径。

因此,您的-StorageUri参数值应该类似于

https://mystorageName.blob.core.windows.net/databasebackup/MyDbName-2018-03-16.bacpac

在尝试备份之前,您还需要确保容器已经存在,导出时不会为您创建容器。