将本地文件上传到块Blob

时间:2019-02-16 22:16:24

标签: c# azure windows-10-iot-core azure-blob-storage

我使用此链接中的示例:  https://docs.microsoft.com/he-il/azure/storage/blobs/storage-quickstart-blobs-dotnet?toc=%2Fen-us%2Fdotnet%2Fazure%2FTOC.json&bc=%2Fen-us%2Fdotnet%2Fazure_breadcrumb%2Ftoc.json&view=azure-dotnet&tabs=windows

在本地设备上工作正常,我可以将文件上传到azure。但是当我在树莓派上运行该应用程序时,尝试上传文件时出现错误:

  • 例如{Microsoft.WindowsAzure.Storage.StorageException:服务器无法验证请求。确保包括签名在内的Authorization标头的值正确形成。 在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.d__c`1.MoveNext() ---从之前引发异常的位置开始的堆栈结束跟踪--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.GetResult() 在App10.MainPage.d__31.MoveNext() 索取资料 申请编号:df2e03db-101e-0128-4a45-c640d2000000 RequestDate:Sat,16 Feb 2019 12:06:26 GMT StatusMessage:服务器无法验证请求。确保包括签名在内的Authorization标头的值正确形成。 错误代码:身份验证失败 错误消息:服务器无法验证请求。确保包括签名在内的Authorization标头的值正确形成。 RequestId:df2e03db-101e-0128-4a45-c640d2000000 时间:2019-02-16T22:14:38.5545020Z } Microsoft.WindowsAzure.Storage.StorageException

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我认为问题出在身份验证上,Microsoft在原始文章中告诉您呼叫setx storageconnectionstring "<yourconnectionstring>",您是否在树莓派上进行了认证?

答案 1 :(得分:0)

该示例通过以下步骤为我工作。

  1. 用存储设备的连接字符串替换变量storageConnectionString
  2. 运行命令dotnet publish -r win10-arm来发布Windows IoT核心版应用程序。
  3. 将文件夹storage-blobs-dotnet-quickstart\bin\Debug\netcoreapp2.0\win10-arm\publish复制到设备。
  4. 通过与设备连接的Powershell运行storage-blobs-dotnet-quickstart.exe。

它将正常工作。请再试一遍。如果错误再次出现,请随时告诉我。

答案 2 :(得分:0)

我已经解决了我的问题。 你们俩都是对的因为时间未设置正确,天蓝色拒绝了该请求。设置时间后,RP设法将数据发送到Blob。 tnx!