【问题标题】:Azure function and Azure Blob StorageAzure 函数和 Azure Blob 存储
【发布时间】:2020-12-10 08:47:37
【问题描述】:

我创建了一个 Azure 函数,该函数在将新文件添加到我的 Blob 存储时触发。这部分效果很好! 但是,现在我想使用 API 启动“Speech-To-Text”Azure 服务。因此,我尝试创建通向我的新 blob 的 URI,然后将其添加到 API 调用中。为此,我创建了一个 SAS 令牌(来自 Azure 门户)并将其添加到我的新 Blob Path 中。

https://myblobstorage...../my/new/blob.wav?[SAS Token generated] 

这样做我得到一个错误,上面写着:

Authentification failed Invalid URI 

我在这里错过了什么?

注意:当我从“Azure 存储资源管理器”手动生成 SAS 令牌时,一切正常。另外我的令牌在我的测试中没有过期

感谢您的帮助!

【问题讨论】:

    标签: python azure


    【解决方案1】:

    您可能会使用错误的身份验证生成 SAS 令牌。 确保选中对象选项。

    这是docs中的原因:

    • 服务:访问服务级 API(例如,获取/设置服务属性、获取服务统计信息、列出容器/队列/表/共享)
    • 容器 (c):访问容器级 API(例如,创建/删除容器、创建/删除队列、创建/删除表、创建/删除 共享、列出 Blob/文件和目录)
    • 对象 (o):访问用于 blob、队列消息、表实体和文件的对象级 API(例如,放置 Blob、查询实体、获取消息、 创建文件等)

    【讨论】:

    • 不,它仍然失败并出现相同的错误...是否有可能某个函数无权访问它?确实,当我在浏览器中复制/粘贴链接但功能失败时,它正在工作......
    • 现在不是 SAS 令牌的问题,而是另一个问题。您能否接受我的回答并提出另一个问题,为什么函数不适用于 SAS 令牌包含您的函数代码?