PowerStore: "Unable to parse passed url" per le richieste REST GET con "select" dove è specificato il parametro nidificato

Summary: La risposta è "Unable to parse passed url" per alcune richieste REST GET con "select" in cui è specificato il parametro nidificato.

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

Alcune richieste REST GET complicate hanno esito negativo con un errore. Tale richiesta richiede un riferimento a ritroso con un autoriferimento all'interno di una singola richiesta.

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

Codice errore:
0xE04040020008 con il messaggio "Unable to parse passed url".

Nota: Se viene visualizzato questo messaggio di errore durante l'esecuzione di un controllo integrità pre-aggiornamento (PUHC), consultare PowerStore: I controlli integrità di sistema rilevano la mancanza di spazio in /cyc_node. Questa è un'altra questione.

Cause

Ciò è causato da un problema postgREST che genera query non valide.

Resolution

Invece di nidificare i parametri in una richiesta, inviare più richieste per ottenere le informazioni richieste.

Di seguito sono riportate alcune delle richieste GET interessate con parametro nidificato che non funzionano in REST. Devono essere presentate due richieste distinte. 
  • 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(origine)
  • 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)

Esempio:
Anziché:
/api/rest/appliance?select=eth_ports(partner)

Esempio di errore di parametro nidificato:
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."}]}

Invia:
/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.