API de backup y recuperación de datos de BlueXP
Colaboradores
Las funcionalidades de backup y recuperación de datos de BlueXP que están disponibles en la interfaz de usuario web también están disponibles en la API RESTful.
Hay diez categorías de extremos definidos en el backup y la recuperación de BlueXP:
-
backup: gestiona las operaciones de backup de los recursos de cloud y en las instalaciones, y recupera los detalles de los datos de backup
-
catálogo: Gestiona la búsqueda de archivos por catálogo indexado basada en una consulta (Buscar y restaurar).
-
Cloud: Recupera información sobre varios recursos de proveedores de nube de BlueXP
-
Trabajo: Gestiona las entradas de detalles del trabajo en la base de datos BlueXP
-
Licencia: Recupera la validez de la licencia de los entornos de trabajo de BlueXP
-
ransomware scan: inicia un análisis de ransomware en un archivo de backup específico
-
restore: permite realizar operaciones de restauración de volumen, archivo y nivel de carpeta
-
sfr - recupera archivos de un archivo de copia de seguridad para operaciones de restauración a nivel de archivo individuales (examinar y restaurar)
-
StorageGRID: Recupera detalles sobre un servidor StorageGRID y le permite descubrir un servidor StorageGRID
-
entorno de trabajo: gestiona las políticas de backup y configura el almacén de objetos de destino asociado a un entorno de trabajo
Primeros pasos
Para empezar a usar las API de backup y recuperación de BlueXP, necesitarás obtener un token de usuario, tu ID de cuenta de BlueXP y el ID de conector de BlueXP.
Al realizar llamadas a la API, agregará el identificador de usuario en el encabezado autorización y el ID de conector BlueXP en el encabezado x-agent-id. Debe utilizar el ID de cuenta de BlueXP en las API.
-
Obtenga un token de usuario del sitio web de BlueXP de NetApp.
Asegúrese de generar el token de actualización desde el siguiente enlace: https://services.cloud.netapp.com/refresh-token/. El token de actualización es una cadena alfanumérica que utilizará para generar un token de usuario.
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" }'
El identificador de usuario del sitio Web de BlueXP tiene una fecha de caducidad. La respuesta de la API incluye un campo "expires_in" que indica cuándo caduca el token. Para actualizar el token, deberá volver a llamar a esta API. -
Obtenga su ID de cuenta de BlueXP.
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………
Esta API devolverá una respuesta como la siguiente. Puede recuperar el ID de cuenta analizando el resultado de [0].[ accountPublicId].
[{"accountPublicId":"account-i6vJXvZW","accountName":"rashidn","isSaas":true,"isGov":false,"isPrivatePreviewEnabled":false,"is3rdPartyServicesEnabled":false,"accountSerial":"96064469711530003565","userRole":"Role-1"}……… . Obtenga el id de x-agent que contiene el ID de conector de BlueXP.
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…………
Esta API devolverá una respuesta como la siguiente. Puede recuperar el ID de agente analizando la salida de occm.[0].[agent].[agentId].
{"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-
Ejemplo que utiliza las API
El siguiente ejemplo muestra una llamada API para activar el backup y la recuperación de datos de BlueXP en un entorno de trabajo con una nueva política que tiene establecidas etiquetas diarias, cada hora y semanales, después de los días establecidos en 180 días, en la región Este-US-2 en la nube de Azure. Tenga en cuenta que esto solo permite realizar backups en el entorno de trabajo, pero no se realiza ningún backup de los volúmenes.
Si elige "autobackup habilitado": "True", se realizará un backup de todos los volúmenes existentes en el sistema y también se realizará un backup de todos los volúmenes futuros.
Verá que utilizamos el ID de cuenta de BlueXP account-DpTFcxN3
, BlueXP Connector ID iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients
, y token de usuario Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5rSXlPVFUzUWpZek1E…y6nyhBjwkeMwHc4ValobjUmju2x0xUH48g
en este comando.
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
}
]
}
Referencia de API
La documentación para cada API de backup y recuperación de BlueXP está disponible en https://docs.netapp.com/us-en/bluexp-automation/cbs/overview.html.