代码之家  ›  专栏  ›  技术社区  ›  Jesse Hosain Ahmed

逻辑应用程序cosmossdb存储过程连接器返回unauthorized

  •  1
  • Jesse Hosain Ahmed  · 技术社区  · 5 年前

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

    数据库测试 γ-集 文件 |-存储过程 |-按属性清除 < /代码>

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

    < Buff行情>

    无法检索值。输入授权令牌无法服务请求。请检查预期有效负载是否按照协议构建,并检查正在使用的密钥。

    < /块引用>

    如果我手动填写了 collection id和 sproc id的字段,并运行了逻辑应用程序,它返回了 unauthorized on the action.

    我在这里做错什么了?

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

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

    Error message

    无法检索值。输入授权令牌无法服务请求。请检查预期有效负载是否按照协议构建,并检查正在使用的密钥。

    如果我手动填写字段 Collection ID Sproc ID 并运行了逻辑应用程序,它返回 Unauthorized 关于行动。

    Unauthorized

    我在这里做错什么了?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Jesse Hosain Ahmed    5 年前

    因为数据库名称中有一个空格

    在修修补补了一段时间后,我发现当我创造了 准确的 相同的场景,但数据库名为 Database-Test 而不是 Database Test 逻辑应用程序可以成功地检索我的数据库和存储过程的集合,并且运行时没有问题。


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

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

    这意味着 数据库测试 是一个有效的名称,它是(其他一切工作正常),但我似乎无法连接到它使用我的逻辑应用程序。


    提出的问题 MSDN Forums 希望能得到更多关于这件事发生原因的信息。

    来自Microsoft的响应将此确认为逻辑应用程序中的错误:

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

    更新:

    我已经向PG内部提出了这个问题,并将很快提供下一个更新。