linux - 如何将文件从本地计算机传输到 Azure 容器内的虚拟文件夹(使用 blobxfer)

标签 linux azure azure-storage azure-blob-storage

我正在使用blobxfer将一些文件上传到 Azure 存储。它类似于 AzCopy,但适用于 Linux 操作系统(而 AzCopy 适用于 Windows)。

基本上,我在位置 /home/myuser/s3/ 有两个文件夹。一个文件夹名为 /uploads/ ,另一个称为 /users/ 。这些文件夹包含大量图像文件。我需要将这两个文件夹上传到 Azure 容器。

请记住,我不希望文件夹的内容在 Azure 存储上混合,它们需要传输到我的 Azure 容器中的单独虚拟文件夹中。例如,我有一个名为 pictures 的容器,我想要/s3/uploads/的内容(本地文件夹)驻留在虚拟文件夹 /uploads/ 中在 pictures容器。 /s3/users/ 同样如此。

这些虚拟文件夹已存在于我的容器中。我从命令行尝试的命令是: blobxfer mystorageaccount pictures /home/myuser/s3 --upload --storageaccountkey=<primary access key from portal.azure.com> --no-container

此操作失败,并出现未知错误(其中一个 HTTP header 的值格式不正确。)。完整的回溯是:

<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
RequestId:61a1486c-0101-00d6-13b5-408578134000
    Time:2015-12-27T12:56:03.5390180Z</Message><HeaderName>x-ms-blob-content-length</HeaderName><HeaderValue>0</HeaderValue></Error>
Exception in thread Thread-49 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 506, in run
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 597, in putblobdata
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 652, in azure_request
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'Timeout'

我做错了什么,如何解决这个问题?

最佳答案

查看错误,很明显该脚本正在尝试创建一个容器(在您的情况下为图片),但该容器已经存在。

我很快在 Github 上查找了代码,似乎有一个名为 createcontainer 的参数。此参数的默认值为 True。尝试在脚本中传递此参数并将其值初始化为 False。那么脚本不应尝试创建容器。

关于linux - 如何将文件从本地计算机传输到 Azure 容器内的虚拟文件夹(使用 blobxfer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480404/

相关文章:

azure - 为什么 AKS 无法从 ACR 中提取镜像?

linux - 颠覆预提交 Hook 错误代码 255

python - 在 Linux Ubuntu 18.04 上从 pip 安装 cartopy 退出并出现各种错误

c# - 如何将端口范围设置为 Azure 虚拟机的端点?

c# - 如何检查 Azure Blob 文件是否存在

azure - 如何配置我的 Web 应用和函数应用使用哪个存储帐户?

azure - 将 Blob 存储挂载为 VM 上的驱动器

linux - 如何删除下划线之前和包括下划线的字符?

python - 有没有类似 Python 的 pty.fork for Ruby 的东西?

c# - .net Windows Azure WebApp 与 cshtml 配合使用所需的最低配置是什么?