如何将哑文件导入mySQL Server上的Azure DB,转储位于Blob中。如何动态访问Blob文件

时间:2019-03-21 08:15:19

标签: mysql powershell azure-storage-blobs

我的Power Shell代码,将转储文件从Azure存储器下载到我的本地驱动器。   Get-AzureStorageBlobContent -Container $storagecontainername -Blob $backupfilename -Destination $restorefilename

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

我希望将$restorefilename直接替换为blob文件。

1 个答案:

答案 0 :(得分:0)

没有内置的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")

测试结果如下:

enter image description here

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

$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网址:

enter image description here