PowerStore:“无法解析传递的 url”,用于指定嵌套参数的带有“select”的 REST GET 请求

Summary: 对于某些指定了嵌套参数的 REST GET 请求,响应是“无法解析传递的 URL”。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

一些复杂的 REST GET 请求失败并显示错误。此类请求需要在单个请求中使用自引用的向后引用。

示例:
/api/rest/appliance?select=eth_ports(partner)

错误代码:
0xE04040020008 ,并显示消息“无法解析传递的 URL”。

注意:如果您在运行升级前运行状况检查 (PUHC) 时收到此错误消息,请参阅 PowerStore:系统运行状况检查检测到 /cyc_node 中的空间不足这是一个不同的问题。

Cause

这是由生成无效查询的 postgREST 问题引起的。

Resolution

发送多个请求以获取所需信息,而不是在一个请求中嵌套参数。

以下是一些受影响的带有嵌套参数的 GET 请求,这些请求在 REST 中不起作用。应进行两个单独的请求。 
  • GET      /api/rest/appliance?select=eth_ports(partner)
  • GET      /api/rest/appliance?select=virtual_volumes(target_virtual_volumes)
  • GET      /api/rest/appliance?select=virtual_volumes(source)
  • GET      /api/rest/appliance?select=virtual_volumes(parent)
  • GET      /api/rest/appliance?select=virtual_volumes(child_virtual_volumes)
  • GET      /api/rest/appliance?select=hardware(children)
  • GET      /api/rest/appliance?select=hardware(parent)
  • GET      /api/rest/appliance?select=fc_ports(partner)
  • GET      /api/rest/appliance?select=sas_ports(partner)
  • GET      /api/rest/appliance?select=eth_ports(partner)

例:
而不是:
/api/rest/appliance?select=eth_ports(partner)

嵌套参数失败示例:
Linux~$ curl -i -k -s -u 'admin:' -X GET "https:///api/rest/appliance?select=eth_ports(partner)"
HTTP/1.1 400 Bad Request
DELL-EMC-TOKEN: 8t7deLGkLuG8g+Hg2uzMw6B4p2KhQ5bay3qW05tPVMs=
Content-Type: application/json
content-length: 104

{"messages":[{"code":"0xE04040020008","severity":"Error","message_l10n":"Unable to parse passed url."}]}

发送:
/api/rest/appliance?select=eth_ports
/api/rest/eth_port?select=partner
 

Affected Products

PowerStore
Article Properties
Article Number: 000131120
Article Type: Solution
Last Modified: 07 Jun 2023
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.