API de backup y recuperación de datos de BlueXP
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.
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 "Automatización de BlueXP ".