Skip to main content
Alle Cloud-Anbieter
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • Alle Cloud-Anbieter
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Automatisieren Sie mit NetApp Backup und Recovery REST APIs

Beitragende netapp-mwallis

Die über die Web-Benutzeroberfläche verfügbaren NetApp Backup and Recovery -Funktionen sind auch über die Backup- und Recovery-REST-API verfügbar.

In NetApp Backup and Recovery sind zehn Endpunktkategorien definiert:

  • backup- verwaltet Sicherungsvorgänge von Cloud- und lokalen Ressourcen und ruft Details der Sicherungsdaten ab

  • catalog- verwaltet die indizierte Katalogsuche nach Dateien basierend auf einer Abfrage (Suchen und Wiederherstellen)

  • cloud- ruft Informationen zu verschiedenen Cloud-Anbieter-Ressourcen von der NetApp Console ab

  • job- verwaltet Jobdetaileinträge in der NetApp Console Datenbank

  • license- ruft die Lizenzgültigkeit der Systeme von der NetApp Console ab

  • ransomware scan- initiiert einen Ransomware-Scan für eine bestimmte Sicherungsdatei

  • restore- ermöglicht Ihnen die Durchführung von Wiederherstellungsvorgängen auf Volume-, Datei- und Ordnerebene

  • sfr- Ruft Dateien aus einer Sicherungsdatei für Wiederherstellungsvorgänge auf einzelner Dateiebene ab (Durchsuchen und Wiederherstellen)

  • storagegrid- ruft Details zu einem StorageGRID -Server ab und ermöglicht Ihnen, einen StorageGRID -Server zu erkennen

  • system- verwaltet die Sicherungsrichtlinien und konfiguriert den Zielobjektspeicher, der einem System zugeordnet ist

API-Referenz

Dokumentation für jede NetApp Backup- und Recovery-API ist verfügbar unter "NetApp Console-Automatisierung für NetApp Backup und Recovery" .

Erste Schritte

Um mit den NetApp Backup- und Recovery-APIs zu beginnen, benötigen Sie ein Benutzertoken, Ihre NetApp Konsolenkonto-ID und die Konsolenagent-ID.

Wenn Sie API-Aufrufe tätigen, fügen Sie das Benutzertoken im Autorisierungsheader und die Konsolenagent-ID im x-agent-id-Header hinzu. Sie sollten die NetApp Konsolenkonto-ID in den APIs verwenden.

Hinweis Wenn Sie ein Dienstkonto verwenden, sollten Sie anstelle eines Benutzertokens das Dienstzugriffstoken verwenden. Der Wert für „client_id“ („Mu0V1ywgYteI6w1MbD15fKfVIUrNXGWC“) ist ein fester Wert und kann nicht geändert werden. Befolgen Sie in diesem Fall die Anweisungen hier: "Erstellen eines Dienstzugriffstokens" .
Schritte
  1. Besorgen Sie sich ein Benutzertoken von der NetApp - Konsolen-Website.

    Stellen Sie sicher, dass Sie das Aktualisierungstoken über den folgenden Link generieren: https://services.cloud.netapp.com/refresh-token/. Das Aktualisierungstoken ist eine alphanumerische Zeichenfolge, die Sie zum Generieren eines Benutzertokens verwenden.

    curl --location --request POST 'https://netapp-cloud-account.auth0.com/oauth/token?=' \
    --header 'Content-Type: application/json' \
    -d '{
        "grant_type": "refresh_token",
        "refresh_token": "JxaVHn9cGkX92aPVCkhat3zxxxxxwsC9qMl_pLHkZtsVA",
        "client_id": "Mu0V1ywgYteI6w1MbD15fKfVIUrNXGWC"
    }'
    Hinweis Das Benutzertoken von der NetApp -Konsolenwebsite hat ein Ablaufdatum. Die API-Antwort enthält ein Feld „expires_in“, das angibt, wann das Token abläuft. Um das Token zu aktualisieren, müssen Sie diese API erneut aufrufen.
  2. Besorgen Sie sich Ihre NetApp Konsolen-Konto-ID.

    GET 'https://api.bluexp.netapp.com/tenancy/account' -H 'authority: api.bluexp.netapp.com'
    Header:
    -H 'accept: application/json'
    -H 'accept-language: en-GB,en;q=0.9'
    -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR

    Diese API gibt eine Antwort wie die folgende zurück. Sie können die Konto-ID abrufen, indem Sie die Ausgabe von [0].[ accountPublicId] analysieren.

    {
      "accountPublicId": "account-i6vJXvZW",
      "accountName": "rashidn",
      "isSaas": true,
      "isGov": false,
      "isPrivatePreviewEnabled": false,
      "is3rdPartyServicesEnabled": false,
      "accountSerial": "96064469711530003565",
      "userRole": "Role-1"
    }
  3. Rufen Sie die X-Agent-ID ab, die die Konsolen-Agent-ID enthält.

    GET 'https://api.services.cloud.netapp.com/occm/list-occms/account-OOnAR4ZS?excludeStandalone=true&source=saas' \
    Header:
      -H 'authority: api.services.cloud.netapp.com' \
      -H 'accept: application/json' \
      -H 'accept-language: en-GB,en;q=0.9' \
      -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5…………

    Sie können die Agenten-ID aus der Antwort abrufen, indem Sie die Ausgabe von occm.[0].[agent].[agentId] analysieren.

Beispiel für die Verwendung der APIs

Das folgende Beispiel zeigt einen API-Aufruf zum Aktivieren von NetApp Backup and Recovery auf einem System mit einer neuen Richtlinie, in der tägliche, stündliche und wöchentliche Beschriftungen festgelegt sind und die Archivierung nach 180 Tagen in der Region „East-US-2“ in der Azure-Cloud erfolgt. Beachten Sie, dass hierdurch nur die Sicherung auf dem System aktiviert wird, jedoch keine Volumes gesichert werden.

API-Anforderung

Sie werden sehen, dass wir die NetApp Console-Konto-ID verwenden account-DpTFcxN3 , Konsolenagent-ID iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients und Benutzertoken Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5rSXlPVFUzUWpZek1E…y6nyhBjwkeMwHc4ValobjUmju2x0xUH48g in diesem Befehl.

curl --location --request POST 'https://api.bluexp.netapp.com/account/account-DpTFcxN3/providers/cloudmanager_cbs/api/v3/backup/working-environment/VsaWorkingEnvironment-99hPYEgk' \
--header 'x-agent-id: iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5rSXlPVFUzUWpZek1E…y6nyhBjwkeMwHc4ValobjUmju2x0xUH48g' \
--data-raw '{
    "provider":"AZURE",
    "backup-policy": {
      "archive-after-days": 180,
      "rule": [
        {
          "label": "hourly",
          "retention": "2"
        },
        {
          "label": "daily",
          "retention": "30"
        },
        {
          "label": "weekly",
          "retention": "52"
        }
      ]
    },
    "ip-space": "Default",
    "region": "eastus2",
    "azure": {
      "resource-group": "rn-test-backup-rg",
      "subscription": "3beb4dd0-25d4-464f-9bb0-303d7cf5c0c2"
    }
  }
Die Antwort ist eine Job-ID, die Sie dann überwachen können:
{
 "job-id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a"
}
Überwachen Sie die Antwort:
curl --location --request GET 'https://api.bluexp.netapp.com/account/account-DpTFcxN3/providers/cloudmanager_cbs/api/v1/job/1b34b6f6-8f43-40fb-9a52-485b0dfe893a' \
--header 'x-agent-id: iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5rSXlPVFUzUWpZek1E…hE9ss2NubK6wZRHUdSaORI7JvcOorUhJ8srqdiUiW6MvuGIFAQIh668of2M3dLbhVDBe8BBMtsa939UGnJx7Qz6Eg'
Antwort:
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "PENDING",
      "error": "",
      "time": 1651852160000
    }
  ]
}
Überwachen, bis der „Status“ „ABGESCHLOSSEN“ ist:
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "COMPLETED",
      "error": "",
      "time": 1651852160000
    }
  ]
}