【问题标题】:copying amazon s3 blobs to azure blobs将 amazon s3 blob 复制到 azure blob
【发布时间】:2014-04-13 16:56:08
【问题描述】:

我正在尝试通过 code on github 将我的 amazon s3 blob 复制到 azure blob

我将此查询与我自己的 amazon/azure blob 一起使用,而不是测试

azurecopy.exe -i "https://testurl.s3-us-west-2.amazonaws.com/myfile.txt" -o "https://azuretest.blob.core.windows.net/test/"

我只更改了应用配置中的键

<add key="AzureAccountKey" value=""/>
<add key="AWSAccessKeyID" value=""/>
<add key="AWSSecretAccessKeyID" value=""/>
<add key="AWSRegion" value="us-east-1"/>

但它总是给我这个错误

Additional information: The remote server returned an error: (404) Not Found.

在 StartCopy 函数中 AzureBlobCopyHandler 类中的这行代码

var res = blob.StartCopyFromBlob(new Uri(url));

我知道参数有问题,但我一直在跟踪代码,找不到问题,有人可以帮忙吗?

【问题讨论】:

  • 我建议通过 Fiddler 跟踪请求/响应。这应该会给你更多的信息。
  • StartCopyFromBlob 是一个 Azure SDK 调用,所以错误很明显......那个 blob 不存在。如果你能够调试,我会在那里断点,看看那个 url 变量是什么。然后使用一些 Azure 存储客户端 GUI 来看看。如果那个 URL 是好的,检查 blob 对象本身,看看它的 URL 是什么。这两个中的一个尚未创建。不确定这是您的错误还是在此代码中
  • 在浏览器地址栏中复制 Amazon S3 对象 URL 时会发生什么?你仍然收到 404 错误吗?

标签: azure amazon-s3 azure-blob-storage


【解决方案1】:

现在我研究了 github 的东西,我想它应该理解 S3 和 Azure 格式。但不确定它是否有效。我会获取源代码,修改程序以使用硬编码的 URL(或创建一个对其进行硬编码的单元测试),然后 F5/debug-test,然后在调试器中查看执行操作时会引发什么异常。

【讨论】:

    【解决方案2】:

    您可以尝试自己做。当然 Azure 不理解 S3 blob 格式。但是您可以手动从 AWS 读取元数据并使用它来创建 Azure blob,然后在 S3 中使用下载 URL 或 Stream API 将文件内容获取到 Azure blob(我认为有一个 API 可以将下载 URL 发送到无需通过本地计算机即可创建 blob。

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 2018-08-23
      • 2014-05-01
      • 2016-02-12
      • 2019-03-30
      • 2015-10-28
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多