Cloud-Backup-APIs
Beitragende
Die Cloud Backup-Funktionen, die über die Web-Oberfläche verfügbar sind, sind auch über die RESTful API verfügbar.
Im Cloud Backup sind neun Kategorien von Endpunkten definiert:
-
Backup – managt Backup-Vorgänge von Cloud- und lokalen Ressourcen und ruft Details zu den Backup-Daten ab
-
Katalog – verwaltet die Suche nach Dateien anhand einer Abfrage (Suchen & Wiederherstellen)
-
Cloud – ruft Informationen über verschiedene Cloud-Provider-Ressourcen von BlueXP ab
-
Job: Verwaltet Job-Detaileinträge in der BlueXP Datenbank
-
Lizenz - ruft die Lizenzgültigkeit der Arbeitsumgebungen von BlueXP ab
-
ransomware-Scan - initiiert einen Ransomware-Scan auf einer bestimmten Backup-Datei
-
Restore: Ermöglicht die Durchführung von Restore-Vorgängen auf Volume-, Datei- und Ordnerebene
-
sfr - ruft Dateien aus einer Sicherungsdatei für einzelne Wiederherstellungsvorgänge auf Dateiebene ab (Durchsuchen & Wiederherstellen)
-
Arbeitsumgebung: Managt die Backup-Richtlinien und konfiguriert den Ziel-Objektspeicher, der einer Arbeitsumgebung zugeordnet ist
Erste Schritte
Für den Einstieg in die Cloud Backup APIs benötigen Sie ein Benutzertoken, Ihre BlueXP Konto-ID und die BlueXP Connector-ID.
Wenn Sie API-Aufrufe tätigen, fügen Sie das Benutzer-Token in die Autorisierungskopfzeile und die BlueXP Connector-ID in der X-Agent-id-Kopfzeile hinzu. Sie sollten die BlueXP-Konto-ID in den APIs verwenden.
-
Beziehen Sie ein Benutzer-Token auf die NetApp BlueXP Website.
Stellen Sie sicher, dass Sie das Aktualisierungstoken über den folgenden Link generieren: https://services.cloud.netapp.com/refresh-token/. Das Aktualisieren-Token ist eine alphanumerische Zeichenfolge, mit der Sie ein Benutzer-Token generieren.
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" }'
Das Benutzer-Token der BlueXP-Website 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. -
Holen Sie sich Ihre BlueXP-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].[ buchPublicID] analysiert haben.
[{"accountPublicId":"account-i6vJXvZW","accountName":"rashidn","isSaas":true,"isGov":false,"isPrivatePreviewEnabled":false,"is3rdPartyServicesEnabled":false,"accountSerial":"96064469711530003565","userRole":"Role-1"}……… . Holen Sie sich die x-Agent-id, die die BlueXP Connector-ID enthält.
GET curl '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…………
Diese API gibt eine Antwort wie die folgende zurück. Sie können die Agenten-id abrufen, indem Sie die Ausgabe von occm.[0].[Agent].[AGENTID] parsen.
{"occms":[{"account":"account-OOnAR4ZS","accountName":"cbs","occm":"imEdsEW4HyYTFbt8ZcNKTKDF05jMIe6Z","agentId":"imEdsEW4HyYTFbt8ZcNKTKDF05jMIe6Z","status":"ready","occmName":"cbsgcpdevcntsg-asia","primaryCallbackUri":"http://34.93.197.21","manualOverrideUris":[],"automaticCallbackUris":["http://34.93.197.21","http://34.93.197.21/occmui","https://34.93.197.21","https://34.93.197.21/occmui","http://10.138.0.16","http://10.138.0.16/occmui","https://10.138.0.16","https://10.138.0.16/occmui","http://localhost","http://localhost/occmui","http://localhost:1337","http://localhost:1337/occmui","https://localhost","https://localhost/occmui","https://localhost:1337","https://localhost:1337/occmui"],"createDate":"1652120369286","agent":{"useDockerInfra":true,"network":"default","name":"cbsgcpdevcntsg-asia","agentId":"imEdsEW4HyYTFbt8ZcNKTKDF05jMIe6Zclients","provider":"gcp","systemId":"a3aa3578-bfee-4d16-9e10-
Beispiel mit den APIs
Das folgende Beispiel zeigt einen API-Aufruf zur Aktivierung von Cloud Backup in einer Arbeitsumgebung mit einer neuen Richtlinie, in der Tages-, Stunden- und Wochenbeschriftungen festgelegt und nach 180 Tagen archiviert werden, in Ost-US-2-Regionen in der Azure-Cloud. Beachten Sie, dass dies nur eine Sicherung in der Arbeitsumgebung ermöglicht, aber keine Volumes gesichert werden.
Wenn Sie „Auto-Backup-Enabled“ wählen: „True“, werden alle bereits im System vorhandenen Volumes gesichert. Außerdem werden alle zukünftigen Volumes gesichert.
Wie Sie sehen, verwenden wir die BlueXP-Konto-ID account-DpTFcxN3
, BlueXP Connector-ID iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients`Und Benutzer-Token `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"
}
}'
{
"job-id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a"
}
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'
{
"job": [
{
"id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
"type": "backup-working-environment",
"status": "PENDING",
"error": "",
"time": 1651852160000
}
]
}
{
"job": [
{
"id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
"type": "backup-working-environment",
"status": "COMPLETED",
"error": "",
"time": 1651852160000
}
]
}
API-Referenz
Für jede Cloud-Backup-API steht eine Dokumentation zur Verfügung https://docs.netapp.com/us-en/cloud-manager-automation/cbs/overview.html.