PowerStore. «Невозможно разобрать переданный url» для GET-запросов REST с «select», где указан вложенный параметр

Summary: Для некоторых GET-запросов REST отображается ответ «Невозможно проанализировать переданный URL-адрес» с параметром «select», в котором указан вложенный параметр.

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

Некоторые сложные запросы GET интерфейса REST завершаются сбоем с ошибкой. Для такого запроса требуется обратная ссылка с самоссылкой в рамках одного запроса.

Пример:
/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(исходный код)
  • GET /api/rest/appliance?select=virtual_volumes(родительский)
  • 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.