mysql - 如何将哑文件导入 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 文件替换它。
解决方案
没有用于此的内置 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 供下载:
推荐阅读
- javascript - 为“未来”时间生成按钮?
- listview - 从 Firestore 数据列表视图中搜索/拟合,颤动
- javascript - 在 JavaScript 中将不带连字符或空格的日期转换为日期
- javascript - 来自 php 的值未正确传递给 javscript 函数
- postgresql - Postgres 时间 00 和 24 小时
- c# - 批量删除datastax c#
- logstash - 使用 Logstash Aggregate Filter 插件处理可能排序或未排序的数据
- r - 将变量传递给 read.fwf 中的宽度参数
- autohotkey - 需要双显示器帮助 [AutoHotkey]
- mysql - mysql查询连接三个表的问题