Eingabevariablen, die eine API-Anforderung steuern
Sie können steuern, wie ein API-Aufruf über Parameter und Variablen verarbeitet wird, die in der HTTP-Anforderung festgelegt sind.
HTTP-Methoden
Die von der ONTAP REST API unterstützte HTTP-Methoden sind in der folgenden Tabelle aufgeführt.
Nicht alle HTTP-Methoden sind an jedem REST-Endpunkt verfügbar. AUSSERDEM KÖNNEN PATCH und DELETE für eine Sammlung verwendet werden. Weitere Informationen finden Sie unter Objektreferenzen und Zugang. |
HTTP-Methode | Beschreibung |
---|---|
GET |
Ruft Objekteigenschaften auf einer Ressourceninstanz oder -Sammlung ab. |
POST |
Erstellt eine neue Ressourceninstanz basierend auf der angegebenen Eingabe. |
PATCH |
Aktualisiert eine vorhandene Ressourceninstanz basierend auf den eingegebenen Eingaben. |
Löschen |
Löscht eine vorhandene Ressourceninstanz. |
KOPF |
Gibt eine GET-Anfrage effektiv aus, gibt aber nur die HTTP-Header zurück. |
OPTIONEN |
Legen Sie fest, welche HTTP-Methoden an einem bestimmten Endpunkt unterstützt werden. |
Pfadvariablen
Der bei jedem REST-API-Aufruf verwendete Endpunktpfad kann verschiedene Kennungen enthalten. Jede ID entspricht einer bestimmten Ressourceninstanz. Beispiele sind Cluster-IDs und SVM-IDs.
Anfragekopfzeilen
Sie müssen mehrere Header in die HTTP-Anfrage aufnehmen.
- Inhaltstyp
-
Wenn der Anforderungsentext JSON enthält, muss dieser Header auf festgelegt werden
application/json
. - Akzeptieren
-
Diese Kopfzeile sollte auf gesetzt werden
application/hal+json
. Wenn sie stattdessen auf eingestellt istapplication/json
Keiner der HAL-Links wird zurückgegeben, außer ein Link, der zum Abrufen des nächsten Stapels von Datensätzen benötigt wird. Wenn der Header etwas anderes außer diesen beiden Werten ist, ist der Standardwert descontent-type
Die Kopfzeile in der Antwort istapplication/hal+json
. - Autorisierung
-
Die grundlegende Authentifizierung muss mit dem Benutzernamen und dem Passwort als base64-Zeichenfolge codiert sein. Beispiel:
Authorization: Basic YWRtaW46cGV0ZXJzb24=
.
Text anfordern
Der Inhalt der Anfraentext variiert je nach Anruf. Der HTTP-Request-Text besteht aus einem der folgenden Elemente:
-
JSON-Objekt mit Eingabevariablen
-
Leeres JSON-Objekt
Objekte filtern
Wenn Sie einen API-Aufruf mit der GET-Methode ausgeben, können Sie die zurückgegebenen Objekte anhand eines beliebigen Attributs mithilfe eines Abfrageparameters einschränken oder filtern.
Ein Satz von einem oder mehreren Parametern kann an die URL-Zeichenfolge angehängt werden, die nach dem beginnt ?
Zeichen. Wenn mehrere Parameter angegeben werden, werden die Abfrageparameter auf Basis des aufgeteilt &
Zeichen. Jede Taste und jeder Wert im Parameter werden am geteilt =
Zeichen.
Sie können beispielsweise einen exakten Wert angeben, der mit dem Gleichheitszeichen übereinstimmt:
<field>=<value>
Für eine komplexere Abfrage wird der zusätzliche Operator nach dem Gleichheitszeichen gesetzt. Um z. B. den Satz von Objekten auf der Grundlage eines bestimmten Felds auszuwählen, der größer oder gleich einem Wert ist, würde die Abfrage folgendermaßen lauten:
<field>=>=<value>
Zusätzlich zu den oben genannten Beispielen stehen weitere Operatoren zur Verfügung, um Objekte über einen Wertebereich zurückzugeben. Eine Zusammenfassung der von der ONTAP-REST-API unterstützten Filteroperatoren ist in der folgenden Tabelle aufgeführt.
Nicht festgelegte Felder werden in der Regel von übereinstimmenden Abfragen ausgeschlossen. |
Operator |
Beschreibung |
= |
Gleich |
< |
Kleiner als |
> |
Größer als |
<= |
Kleiner oder gleich |
>= |
Größer oder gleich |
! |
Nicht gleich |
* |
Gierige Wildcard |
Sie können auch eine Sammlung von Objekten zurückgeben, basierend darauf, ob ein bestimmtes Feld über die festgelegt wurde oder nicht null
Stichwort oder Negation !null
Als Teil der Abfrage.
Einige Beispiele aus den REST-API-Workflows auf dieser Site sind unten aufgeführt.
-
Filter basierend auf dem
state
Variable zur Auswahl der Ersatzfestplatten.
Es werden bestimmte Objektfelder angefordert
Standardmäßig gibt die Ausgabe eines API-Aufrufs mit GET nur die Attribute zurück, die das Objekt oder die Objekte eindeutig identifizieren, zusammen mit einer HAL-Selbstverknüpfung. Dieser minimale Feldsatz dient als Schlüssel für jedes Objekt und variiert je nach Objekttyp. Sie können zusätzliche Objekteigenschaften mithilfe der auswählen fields
Abfrageparameter auf folgende Weise:
-
Allgemeine oder Standardfelder
Angeben
fields=*`
Zum Abrufen der am häufigsten verwendeten Objektfelder. Diese Felder werden normalerweise im lokalen Serverspeicher verwaltet oder erfordern nur wenig Verarbeitung für den Zugriff. Dies sind die gleichen Eigenschaften, die für ein Objekt zurückgegeben werden, nachdem GET mit einem URL-Pfadschlüssel (UUID) verwendet wurde. -
Alle Felder
Angeben
fields=**
Zum Abrufen aller Objektfelder, einschließlich solcher, die für den Zugriff zusätzliche Serververarbeitung erforderlich sind. -
Benutzerdefinierte Feldauswahl
Nutzung
fields=<field_name>
Um das genaue Feld anzugeben, das Sie wünschen. Wenn Sie mehrere Felder anfordern, müssen die Werte durch Kommas ohne Leerzeichen getrennt werden.Als Best Practice sollten Sie immer die gewünschten Felder identifizieren. Sie sollten nur die gemeinsamen Felder oder alle Felder abrufen, wenn Sie dies benötigen. Welche Felder werden als allgemein klassifiziert und mit zurückgegeben fields=*
, Wird von NetApp basierend auf interner Performance-Analyse ermittelt. Die Klassifizierung eines Felds kann sich in zukünftigen Releases ändern.
Sortieren von Objekten im Ausgabungsset
Die Datensätze in einer Ressourcensammlung werden in der vom Objekt definierten Standardreihenfolge zurückgegeben. Sie können die Bestellung über ändern order_by
Abfrage-Parameter mit Feldname und Sortierrichtung wie folgt:
order_by=<field name> asc|desc
Sie können beispielsweise das Typfeld in absteigender Reihenfolge, gefolgt von id in aufsteigender Reihenfolge sortieren:
order_by=type desc, id asc
Beachten Sie Folgendes:
-
Wenn Sie ein Sortierfeld angeben, aber keine Richtung angeben, werden die Werte in aufsteigender Reihenfolge sortiert.
-
Wenn Sie mehrere Parameter eingeben, müssen Sie die Felder mit einem Komma trennen.
Paginierung beim Abrufen von Objekten in einer Sammlung
Wenn ein API-Aufruf über GET auf eine Sammlung von Objekten desselben Typs zugreifen soll, versucht ONTAP, auf der Grundlage von zwei Einschränkungen so viele Objekte wie möglich zurückzugeben. Mit zusätzlichen Abfrageparametern auf der Anforderung können Sie jede dieser Einschränkungen steuern. Die erste Bedingung, die für eine bestimmte GET-Anforderung erreicht wurde, beendet die Anforderung und begrenzt damit die Anzahl der zurückgegebenen Datensätze.
Wenn eine Anfrage endet, bevor sie alle Objekte anführt, enthält die Antwort den Link, der zum Abrufen des nächsten Stapels von Datensätzen benötigt wird. |
- Die Anzahl der Objekte wird begrenzt
-
Standardmäßig gibt ONTAP maximal 10,000 Objekte für EINE GET-Anforderung aus. Sie können diese Begrenzung mit dem ändern
max_records
Abfrageparameter. Beispiel:max_records=20
Die Anzahl der tatsächlich zurückgegebenen Objekte kann aufgrund der entsprechenden Zeitbeschränkung sowie der Gesamtanzahl der Objekte im System kleiner sein als die maximale Wirkung.
- Begrenzung der Zeit, die zum Abrufen der Objekte verwendet wird
-
Standardmäßig gibt ONTAP so viele Objekte wie möglich innerhalb der für die GET-Anforderung zulässigen Zeit zurück. Die Standard-Zeitüberschreitung beträgt 15 Sekunden. Sie können diese Begrenzung mit dem ändern
return_timeout
Abfrageparameter. Beispiel:return_timeout=5
Die Anzahl der tatsächlich zurückgegebenen Objekte kann aufgrund der damit verbundenen Beschränkung auf die Anzahl der Objekte sowie die Gesamtanzahl der Objekte im System kleiner sein als die maximal zulässige Anzahl.
- Verengung des Ergebnisset
-
Bei Bedarf können Sie diese beiden Parameter mit zusätzlichen Abfrageparametern kombinieren, um den Ergebnissatz einzugrenzen. Im Folgenden werden z. B. bis zu 10 ems-Ereignisse zurückgegeben, die nach der angegebenen Zeit generiert wurden:
time=> 2018-04-04T15:41:29.140265Z&max_records=10
Sie können mehrere Anfragen zur Seite durch die Objekte ausgeben. Jeder nachfolgende API-Aufruf sollte einen neuen Zeitwert verwenden, der auf dem letzten Ereignis des letzten Ergebnisset basiert.
Größeneigenschaften
Die bei einigen API-Aufrufen verwendeten Eingabewerte sowie bestimmte Abfrageparameter sind numerisch. Anstatt eine ganze Zahl in Byte bereitzustellen, können Sie optional ein Suffix wie in der folgenden Tabelle aufgeführt verwenden.
Suffix | Beschreibung |
---|---|
KB |
KB-Kilobyte (1024 Byte) oder Kibibyte |
MB |
MB Megabyte (KB x 1024 Byte) oder Mebibyte |
GB |
GB Gigabyte (MB x 1024 Byte) oder Gibibyte |
TB |
TB Terabyte (GB x 1024 Byte) oder Tebibyte |
PB |
PB (TB x 1024 Byte) oder Pebibyte |