在基于Java的AWS Lambda中使用Azure SDK将文件从S3传输到Azure Blob存储容器的简单用例。但在进行文件传输之前,我想从我的Lambda测试连接本身,因此我决定首先尝试列出容器中的Blob。
我正在使用“共享访问签名”令牌对Azure Blob存储容器的访问进行身份验证。在本地建立连接时遇到了很多挑战,但最终我能够成功连接,并最终能够列出给定容器中的所有Blob。
现在,当我合并相同的代码到我的Lambda并运行它时,它给我授权错误如下。
Lambda Exception Trace
由于我是Azure的新手,有人能帮助我了解是否缺少任何身份验证、网络配置来建立此连接,或者我根本上缺少一些东西吗?
Code this is working on Eclipse IDE on Local
1条答案
按热度按时间dced5bon1#
可能是验证失败。这可能是因为您用于连接的SAS(共享访问签名)令牌缺少一个或多个权限,无法执行
BlobContainerClient
所需的特定操作。这些操作包括:读取、写入、删除、列表、添加、创建、处理、不可变存储、永久删除。您还可以与不同类型的服务交互:blob、文件、队列、表。最后,创建SAS令牌时,可以配置到期日期、一组允许的IP地址、限制为仅使用特定协议并选择签名密钥。这些条件之一可能是不允许从两个不同位置执行相同代码时以相同方式运行?