我的Power Shell代码,将转储文件从Azure存储器下载到我的本地驱动器。
Get-AzureStorageBlobContent -Container $storagecontainername -Blob $backupfilename -Destination $restorefilename
使用本地驱动器中的转储文件进行导入。
get-content $restorefilename | &"$mysqlpath" -h $servername -u $username -p $password $database
我希望将$restorefilename
直接替换为blob文件。
答案 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")
测试结果如下:
因此,在您的情况下,您可以编写如下内容:
$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网址: