首页 > 解决方案 > 如何将哑文件导入 mySQL Server 上的 Azure DB,转储位于 blob 中。如何动态访问 blob 文件

问题描述

我的电源外壳代码,将转储文件从天蓝色存储下载到我的本地驱动器。 Get-AzureStorageBlobContent -Container $storagecontainername -Blob $backupfilename -Destination $restorefilename

使用本地驱动器中的转储文件进行导入。 get-content $restorefilename | &"$mysqlpath" -h $servername -u $username -p $password $database

我希望$restorefilename直接用 blob 文件替换它。

标签: mysqlpowershellazure-blob-storage

解决方案


没有用于此的内置 cmdlet。

您可以在 powershell 中使用一些 .net 方法直接将 blob 文件下载为字符串。

注意:如果 blob 存储是公共的,您可以直接使用它的 url。如果 blob 存储是私有的,您应该为 blob 生成一个 SAS 令牌。

公共 blob 的示例代码如下:

$client = New-Object System.Net.WebClient
$client.DownloadString("https://xxx.blob.core.windows.net/f22/t1.txt")

测试结果如下:

在此处输入图像描述

因此,在您的情况下,您可以编写如下内容:

$client = New-Object System.Net.WebClient
$restorefilename = $client.DownloadString("https://xxx.blob.core.windows.net/f22/t1.txt")
$restorefilename | &"$mysqlpath" -h $servername -u $username -p $password $database

如果你的 blob 是私有的,你可以按照下面的截图生成一个 sas url 供下载:

在此处输入图像描述


推荐阅读