逻辑应用程序CosmosDb存储过程连接器返回未授权

时间:2018-11-22 14:43:58

标签: azure azure-cosmosdb azure-logic-apps

我在CosmosDb数据库中创建了一个存储过程,以基于属性删除集合中的许多文件。数据库的结构如下:

Database Test
| - Collection
  | - Documents
  | - Stored Procedures
    | - CleanupByProperty

然后,我创建了一个逻辑应用程序,该应用程序执行此存储过程。我使用“读/写主键”通过Portal连接到Cosmos数据库。在Logic App中创建连接器时,它无法从我的数据库服务器读取集合,并出现以下错误:

Error message

  

无法检索值。输入的授权令牌无法处理请求。请检查是否根据协议构建了预期的有效负载,并检查所使用的密钥。

如果我手动填写Collection IDSproc ID的字段,并运行Logic App,则该操作返回Unauthorized

Unauthorized

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

这是因为数据库名称中有空格

经过一段时间的修改,我发现在创建 exact 相同的场景时,但是使用名为Database-Test而不是Database Test的数据库,Logic App可以成功地检索了我的数据库的集合和存储过程,并且运行没有问题。


我不确定为什么会这样,因为根据documentation,数据库名称可以包含以下内容:

  

数据库名称必须包含1到255个字符,并且不能包含/,\,#、?或尾随空格。

这意味着Database Test是一个有效的名称,它是(其他所有方法都可以正常工作),但是我似乎无法使用Logic App连接到它。


MSDN Forums上提出的问题是希望能获得更多有关发生这种情况的信息。

Microsoft的回复确认这是Logic App中的错误:

  

我已复制并验证了此问题,并与产品团队联系。请随时关注更新。

     

更新:

     

我已在PG内部对其进行了改进,并将很快提供下一个更新。