当前位置: 首页 > 知识库问答 >
问题:

Azure存储帐户-错误403禁止

魏彦
2023-03-14

我有一个Azure函数,应该处理存储帐户容器中的文件。应每天触发Azure函数。但是每周一两次,我看到容器中的一些文件没有被处理:(开始时,600中的401个文件没有被处理,因为错误403)

正如我在Stackoverflow中读到的。这是因为SAS令牌时间偏差。有没有可能在我的代码中没有大的变化,我解决了这个问题?

我的代码:

 CloudStorageAccount sa;
 CloudStorageAccount.TryParse("MyConnString", out sa);
 _blobClient = sa.CreateCloudBlobClient();
 ICloudBlob sourceBlob = _blobClient.GetBlobReferenceFromServer(new Uri(BlobUrl));

最新消息

执行函数时出现消息异常:通过\u http\u触发器\u活动处理\u文件\u远程服务器返回错误:(403)禁止。远程服务器返回错误:(403)禁止。

html" target="_blank">调用堆栈:

微软。天青。Web工作。主机。在System.运行时。ExceptionServices.ExceptionDispatchInfo.在Microsoft上抛出(mcorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b7xxxx934e089)。天青。Web工作。主机。执行者。函数执行器d__16。MoveNext(微软。天青。Web工作。主机,版本=2.4.0.0,文化=中性,PublicKeyToken=31bfxxxx64e35)在系统。运行时。CompilerServices.TaskAwaiter.在System.运行时。CompilerServices.TaskAwaiter.在Microsoft中处理非成功和调试器通知(mcorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b7xxxx934e089)。天青。Web工作。主机。执行者。函数执行器d__13。MoveNext(微软。天青。Web工作。主机,版本=2.4.0.0,文化=中性,PublicKeyToken=31bfxxxx64e35)内部异常Microsoft.WindowsAzure.存储。在System.运行时。ExceptionServices.ExceptionDispatchInfo.扔:在微软。WindowsAzure.存储。核心。执行者。执行者。执行同步(Microsoft.WindowsAzure.存储,版本=7.2.1.0,区域性=中性,PublicKeyToken=31bfxxxx64e35Microsoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35: c:\Program Files(x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Execator\Executor.csMicrosoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35:604)在Microsoft。WindowsAzure.存储。斑点。CloudBloClient.Microsoft.WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35Microsoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35: c:\Program Files(x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Blob\CloudBlosClient.csMicrosoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35:563)在微软。WindowsAzure.存储。斑点。CloudBloClient.Microsoft.WindowsAzure.存储,版本=7.2.1.0,区域性=中性,PublicKeyToken=31bfxxxx64e35Microsoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35: c:\Program Files(x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Blob\CloudBlosClient.csMicrosoft。WindowsAzure.存储,版本=7.2.1.0,文化=中性,PublicKeyToken=31bfxxxx64e35:546)在bip.dev.afu.inbound.we.process_xz_files_by_http_trigger。XzFileMobile(bip.dev.afu.inbound.we,版本=1.0.0.0,文化=中性,PublicKeyToken=null)在bip. dev. afu. inline. we.process_xz_files_by_http_triggerd__10。MoveNext(bip. dev. afu. in界限. we,版本=1.0.0.0,文化=中性,PublicKeyToken=空)在System.运行时。CompilerServices.TaskAwaiter.在System.运行时。CompilerServices.TaskAwaiter.在微软处理非成功和调试器通知(mcorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b7xxxx934e089)。天青。Web工作。主机。执行者。[代码] 2.

共有1个答案

公孙黎昕
2023-03-14

从基础知识开始,Azure存储连接字符串使用以下格式。请确保您为连接字符串提供了正确的帐户名称和密钥对。如果您为帐户n2设置帐户n1和帐户密钥,将导致异常。

DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=[accountKey];EndpointSuffix=core.windows.net

我建议你打印你的连接字符串,看看它是否与你在应用中提到的所有时间相同。背景

Trace.Write(ConnectionString);

请确保系统/应用程序实例的当前日期时间正确。

存储服务确保请求到达服务时不超过15分钟。这可以防止某些安全攻击,包括重播攻击。当此检查失败时,服务器返回响应代码403(禁止)。

希望能有帮助。请在对话中随时标记我,以获取任何其他帮助。

 类似资料:
  • 我一直在我的项目中使用基于azure定时器的功能。自从我开始使用该功能以来,我收到了与Azure存储帐户禁止访问相关的错误403。 我尝试在函数的配置中添加AzureWebJobs存储密钥我尝试添加azure存储帐户的允许ip范围的出站ip我尝试检查允许azure托管服务进入存储帐户的选项。 然而,我的函数应用程序中的特定计时器函数仍然存在错误。其他功能运行正常。 尽管如此,如果我允许存储帐户防火

  • 我在连接到ASP. NET MVC5中的Azure Blob存储帐户时遇到问题。 我看了一些教程,提出了一个带有BlobStorageContainerFactory的简单存储库模式,这样我就可以注入命名的存储库。当我使用Azure Storage local development emulator时,这段代码运行良好。以下是工厂代码: 我尝试解析连接字符串时出错: 堆栈跟踪:

  • 我测试了在新的Azure门户中创建经典存储帐户(manage.windowsazure.com)和“新”存储帐户。将它们设置为类似的,并运行相同的代码来创建和配置队列。但指标仅显示门户中的经典存储帐户(能够在新门户中看到这两个帐户) 我已经像这样设置了ServiceProperties,并且可以在获取服务属性或查看Azure门户时成功地看到保存的这些更改。 当我使用Microsoft Azure

  • 我刚刚创建了一个Azure应用服务来托管一个Web应用程序,我想打开应用程序日志记录。我已经在应用程序本身中启用了它。 使用Azure门户,我试图配置应用程序以在诊断日志下进行日志记录,但在我创建了一个新的存储帐户来保存日志blob后,它不允许我在存储帐户中创建具有blob访问权限的容器。我一直从门户网站上收到“错误:Error”。我还尝试创建一个文件容器,但失败了,出现了相同的错误。 为什么我不

  • 首先,我将引用另外两个对这个问题有部分答案的问题。 删除VM后从Azure中删除磁盘 如何删除Microsoft Azure存储中的租用blob 使用Azure Explorer,我可以删除blob和容器,但当我尝试删除存储帐户时,我出现了以下错误: 删除存储帐户“bitnamiWestusflwdmy”失败。无法删除存储帐户“bitnamiWestusflwdmy”:“存储帐户bitnamiWe

  • 我需要处理一些大数据并计划部署数据砖集群 除了HDFS支持,我还应该使用Data Lake Gen2对抗存储帐户的一个重要功能是什么 启用了分层命名空间的存储帐户v2==Data Lake Gen2。如果是,我可以使用文件系统创建文件共享并像存储帐户的文件系统一样将其装载到VM中吗 对于从Databricks访问数据,这两种方法中哪一种更适合大数据工作负载。我可以看到存储帐户也可以作为DBFS挂载