【问题标题】:Azure Blob Storage: Bulk populating the storageAzure Blob 存储:批量填充存储
【发布时间】:2018-03-15 20:18:14
【问题描述】:

我有一个来自 Access Web Online 的图像数据库的快照(AWO 将于 2018 年 4 月停用)。数据表包含大量随机变量和存储在 SharePoint 服务器上的图像的 URL。我需要获取存储在 Azure Blob 存储中的 URL 位置的图像。可能吗?如果是这样,我会怎么做?我拥有所有服务的管理员权限。

我可以提到我在该领域的经验不足。

【问题讨论】:

  • 这些图片 URL 是否可以公开访问?也就是说,如果我获取一个 URL 并将其粘贴到浏览器的地址栏中,这些图像会显示吗?
  • 它们是公开的。
  • 接受的答案,虽然是正确的,但恕我直言。考虑到文件可以公开访问,您实际上不需要下载文件并再次上传它们。请在此处查看我的答案:stackoverflow.com/questions/43593136/…。 HTH。

标签: azure sharepoint azure-storage


【解决方案1】:

在我看来,我会考虑通过编写脚本来自动执行此操作。

如果是脚本,我会把这个问题分成两部分。

  1. 从 SharePoint 获取文件
  2. 将文件上传到 Blob 存储

从 SharePoint 下载

在查看从 SharePoint 获取文件时,您还有两种选择:

  1. 使用一些外部工具,自动化下载过程,例如共享门
  2. 自己写一些脚本

如果自己编写脚本,我会选择使用SharePoint PnP PowerShell cmdlet。

要下载文件,只需运行

$siteurl = "https://{tenant}.sharepoint.com"  

#First connect to SPO
Connect-PnPOnline -Url $siteurl  

#Get the file
Get-PnPFile -ServerRelativeUrl /SPDocuments/Folder4/Files.docx -Path D:\Downloads -FileName SharePointFile.docx  

使用您手头的数据(数据库)自动执行检索过程。将路径导出为 .csv 文件并在脚本中对其进行迭代。

在此示例中,我假设您使用的是 SharePoint Online,但这些 cmdlet 适用于

  • SharePoint 2013
  • SharePoint 2016
  • SharePoint Online

将文件上传到 Azure 存储帐户

这部分应该更容易。

在这里您可以再次使用脚本路线并使用:

  1. Azure PowerShell,即Set-AzureStorageBlobContent,用于上传
  2. Azure CLI
  3. AzCopy 从命令行上传文件

或者您可以使用图形工具 Azure Storage Explorer 使用 GUI 来完成。

注意:还有其他方法可以连接到存储帐户。我只是列出了针对这种特定情况的最简单的方法。但是,您也可以通过编程方式访问存储帐户,例如, C# 代码或使用 FTP。

使用 Azure 存储资源管理器,您只需选择之前下载的文件并将它们“复制并粘贴”到您的 Azure 存储帐户。

【讨论】:

  • 写得很好 - 我已经接受了,虽然 Connect-SPOnline 应该是 Connect-PnPOnline - 不是吗? Get-SPOFile 也不在 cmdlet 列表中 - 所以我猜 Get-PnPFile 是正确的?
  • 您是对的,感谢您注意到这一点! Erwin 写了一篇博文,说明他们为什么在不久前做出这种改变,erwinmcm.com/the-case-of-get-sposite
猜你喜欢
  • 2019-05-16
  • 2020-10-13
  • 1970-01-01
  • 2017-11-10
  • 2023-03-07
  • 2019-10-25
  • 1970-01-01
  • 2012-03-02
  • 2016-03-04
相关资源
最近更新 更多