Skip to main content
NetApp Backup and Recovery
Todos os provedores de nuvem
  • Serviços Web da Amazon
  • Google Cloud
  • Microsoft Azure
  • Todos os provedores de nuvem
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Automatize com APIs REST de NetApp Backup and Recovery

Colaboradores netapp-mwallis

Os recursos de NetApp Backup and Recovery disponíveis por meio da interface de usuário da Web também estão disponíveis por meio da API REST de backup e recuperação.

Há dez categorias de endpoints definidas no NetApp Backup and Recovery:

  • backup- gerencia operações de backup de recursos na nuvem e no local e recupera detalhes dos dados de backup

  • catalog- gerencia a pesquisa de catálogo indexado para arquivos com base em uma consulta (Pesquisa e Restauração)

  • cloud- recupera informações sobre vários recursos do provedor de nuvem do NetApp Console

  • job- gerencia entradas de detalhes do trabalho no banco de dados do NetApp Console

  • license- recupera a validade da licença dos sistemas do NetApp Console

  • ransomware scan- inicia uma varredura de ransomware em um arquivo de backup específico

  • restore- permite que você execute operações de restauração em nível de volume, arquivo e pasta

  • sfr- recupera arquivos de um arquivo de backup para operações de restauração em nível de arquivo único (Navegar e Restaurar)

  • storagegrid- recupera detalhes sobre um servidor StorageGRID e permite que você descubra um servidor StorageGRID

  • system- gerencia as políticas de backup e configura o armazenamento de objetos de destino associado a um sistema

Referência de API

A documentação para cada API de NetApp Backup and Recovery está disponível em "Automação do NetApp Console para NetApp Backup and Recovery" .

Começando

Para começar a usar as APIs de NetApp Backup and Recovery , você precisará obter um token de usuário, sua ID de conta do NetApp Console e a ID do agente do Console.

Ao fazer chamadas de API, você adicionará o token do usuário no cabeçalho Authorization e o ID do agente do Console no cabeçalho x-agent-id. Você deve usar o ID da conta do NetApp Console nas APIs.

Observação Se estiver usando uma conta de serviço, você deverá usar o token de acesso de serviço em vez de um token de usuário. O valor para "client_id" ("Mu0V1ywgYteI6w1MbD15fKfVIUrNXGWC") é um valor fixo e não pode ser alterado. Neste caso, siga as instruções aqui: "Crie um token de acesso ao serviço" .
Passos
  1. Obtenha um token de usuário no site do NetApp NetApp Console .

    Certifique-se de gerar o token de atualização no seguinte link: https://services.cloud.netapp.com/refresh-token/. O token de atualização é uma sequência alfanumérica que você usará para gerar um token de usuário.

    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"
    }'
    Observação O token do usuário do site do NetApp Console tem uma data de validade. A resposta da API inclui um campo "expires_in" que indica quando o token expira. Para atualizar o token, você precisará chamar esta API novamente.
  2. Obtenha o ID da sua conta do 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 retornará uma resposta como a seguinte. Você pode recuperar o ID da conta analisando a saída de [0].[ accountPublicId].

    {
      "accountPublicId": "account-i6vJXvZW",
      "accountName": "rashidn",
      "isSaas": true,
      "isGov": false,
      "isPrivatePreviewEnabled": false,
      "is3rdPartyServicesEnabled": false,
      "accountSerial": "96064469711530003565",
      "userRole": "Role-1"
    }
  3. Obtenha o x-agent-id que contém o ID do agente do Console.

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

    Você pode recuperar o ID do agente da resposta analisando a saída de occm.[0].[agent].[agentId].

Exemplo usando as APIs

O exemplo a seguir mostra uma chamada de API para ativar o NetApp Backup and Recovery em um sistema com uma nova política que tem rótulos diários, horários e semanais definidos, arquivamento após dias definido como 180 dias, na região East-US-2 na nuvem do Azure. Observe que isso só habilita o backup no sistema, mas nenhum volume é copiado.

Solicitação de API

Você verá que usamos o ID da conta do NetApp Console account-DpTFcxN3 , ID do agente do console iZwFFeVCZjWnzGlw8RgD0QQNANZvpP7Iclients , e token de usuário Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5rSXlPVFUzUWpZek1E…y6nyhBjwkeMwHc4ValobjUmju2x0xUH48g neste 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"
    }
  }
A resposta é um ID de tarefa que você pode monitorar:
{
 "job-id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a"
}
Monitore a resposta:
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'
Resposta:
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "PENDING",
      "error": "",
      "time": 1651852160000
    }
  ]
}
Monitore até que o "status" seja "CONCLUÍDO":
{
  "job": [
    {
      "id": "1b34b6f6-8f43-40fb-9a52-485b0dfe893a",
      "type": "backup-working-environment",
      "status": "COMPLETED",
      "error": "",
      "time": 1651852160000
    }
  ]
}