Skip to main content
NetApp Backup and Recovery
Todos los proveedores de nube
  • Servicios web de Amazon
  • Google Cloud
  • Microsoft Azure
  • Todos los proveedores de nube
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Automatice con las API REST de NetApp Backup and Recovery

Colaboradores netapp-mwallis

Las capacidades de NetApp Backup and Recovery que están disponibles a través de la interfaz de usuario web también están disponibles a través de la API REST de respaldo y recuperación.

Hay diez categorías de puntos finales definidos dentro de NetApp Backup and Recovery:

  • backup- administra las operaciones de respaldo de los recursos locales y en la nube, y recupera detalles de los datos de respaldo

  • catalog- gestiona la búsqueda de archivos en el catálogo indexado en función de una consulta (Búsqueda y restauración)

  • cloud- recupera información sobre varios recursos de proveedores de nube desde la NetApp Console

  • job- administra las entradas de detalles del trabajo en la base de datos de la NetApp Console

  • license- recupera la validez de la licencia de los sistemas desde la NetApp Console

  • ransomware scan- inicia un análisis de ransomware en un archivo de respaldo específico

  • restore- le permite realizar operaciones de restauración a nivel de volumen, archivo y carpeta

  • sfr- recupera archivos de un archivo de respaldo para operaciones de restauración a nivel de archivo único (Explorar y restaurar)

  • storagegrid- recupera detalles sobre un servidor StorageGRID y le permite descubrir un servidor StorageGRID

  • system- administra las políticas de respaldo y configura el almacén de objetos de destino asociado con un sistema

Referencia de API

La documentación para cada API de NetApp Backup and Recovery está disponible en "Automatización de la NetApp Console para NetApp Backup and Recovery" .

Empezando

Para comenzar a utilizar las API de NetApp Backup and Recovery , deberá obtener un token de usuario, su ID de cuenta de NetApp Console y el ID del agente de consola.

Al realizar llamadas API, agregará el token de usuario en el encabezado de Autorización y el ID del agente de la consola en el encabezado x-agent-id. Debe utilizar el ID de cuenta de la NetApp Console en las API.

Nota Si está utilizando una cuenta de servicio, debe utilizar el token de acceso al servicio en lugar de un token de usuario. El valor de "client_id" ("Mu0V1ywgYteI6w1MbD15fKfVIUrNXGWC") es un valor fijo y no se puede cambiar. En este caso, siga las instrucciones aquí: "Crear un token de acceso al servicio" .
Pasos
  1. Obtenga un token de usuario desde el sitio web de la NetApp Console 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"
    }'
    Nota El token de usuario del sitio web de la NetApp Console tiene una fecha de vencimiento. La respuesta de la API incluye un campo "expires_in" que indica cuándo vence el token. Para actualizar el token, deberá llamar a esta API nuevamente.
  2. Obtenga su ID de cuenta de NetApp Console .

    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 la cuenta analizando la salida de [0].[ accountPublicId].

    {
      "accountPublicId": "account-i6vJXvZW",
      "accountName": "rashidn",
      "isSaas": true,
      "isGov": false,
      "isPrivatePreviewEnabled": false,
      "is3rdPartyServicesEnabled": false,
      "accountSerial": "96064469711530003565",
      "userRole": "Role-1"
    }
  3. Obtenga el x-agent-id que contiene el ID del agente de la consola.

    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…………

    Puede recuperar el ID del agente de la respuesta analizando la salida de occm.[0].[agent].[agentId].

Ejemplo de uso de las API

El siguiente ejemplo muestra una llamada API para activar NetApp Backup and Recovery en un sistema con una nueva política que tiene etiquetas diarias, horarias y semanales configuradas, y un archivo después de días configurado en 180 días, en la región East-US-2 en la nube de Azure. Tenga en cuenta que esto solo habilita la copia de seguridad en el sistema, pero no se realiza ninguna copia de seguridad de los volúmenes.

Solicitud de API

Verá que usamos el ID de cuenta de la NetApp Console account-DpTFcxN3 , ID del agente de la consola 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"
    }
  }
La respuesta es un ID de trabajo que luego puedes monitorear:
{
 "job-id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a"
}
Monitorizar la respuesta:
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'
Respuesta:
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "PENDING",
      "error": "",
      "time": 1651852160000
    }
  ]
}
Monitorear hasta que el "estado" sea "COMPLETADO":
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "COMPLETED",
      "error": "",
      "time": 1651852160000
    }
  ]
}