Skip to main content
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.

APIs de cópia e sincronização da NetApp

Colaboradores amgrissino

Os recursos de cópia e sincronização do NetApp disponíveis por meio da interface do usuário da Web também estão disponíveis por meio da API RESTful.

Começar

Para começar a usar a API Copy and Sync, você precisa obter um token de usuário e sua ID de conta do NetApp Console. Você precisará adicionar o token e o ID da conta ao cabeçalho de autorização ao fazer chamadas de API.

Passos
  1. Obtenha um token de usuário do NetApp Console.

    POST https://netapp-cloud-account.auth0.com/oauth/token
    Header: Content-Type: application/json
    Body:
    {
                  "username": "<user_email>",
                  "scope": "profile",
                  "audience": "https://api.cloud.netapp.com",
                  "client_id": "UaVhOIXMWQs5i1WdDxauXe5Mqkb34NJQ",
                  "grant_type": "password",
                  "password": "<user_password>"
    }
    Observação Se estiver usando uma conta de e-mail pessoal sem ID de cliente, você pode usar o ID de cliente padrão "QC3AgHk6qdbmC7Yyr82ApBwaaJLwRrNO".
  2. Obtenha o ID da sua conta do NetApp Console.

    GET https://api.cloudsync.netapp.com/api/accounts
    Headers: Authorization: Bearer <user_token>
    Content-Type: application/json

    Esta API retornará uma resposta como a seguinte:

    [
      {
        "accountId": "account-JeL97Ry3",
        "name": "Test"
      }
    ]
  3. Adicione o token do usuário e o ID da conta no cabeçalho de autorização de cada chamada de API.

    Exemplo

    O exemplo a seguir mostra uma chamada de API para criar um corretor de dados no Microsoft Azure. Você simplesmente substituiria <user_token> e <accountId> pelo token e ID que você obteve nas etapas anteriores.

    POST https://api.cloudsync.netapp.com/api/data-brokers
    Headers: Authorization: Bearer <user_token>
    Content-Type: application/json
    x-account-id: <accountId>
    Body: { "name": "databroker1", "type": "AZURE" }
O que vem a seguir?

O token do usuário do NetApp Console tem uma data de expiração. Para atualizar o token, você precisa chamar a API da etapa 1 novamente.

A resposta da API inclui um campo "expires_in" que indica quando o token expira.

Usar APIs de lista

As APIs de lista são APIs assíncronas, portanto o resultado não é retornado imediatamente (por exemplo: GET /data-brokers/{id}/list-nfs-export-folders e GET /data-brokers/{id}/list-s3-buckets ). A única resposta do servidor é o status HTTP 202. Para obter o resultado real, você deve usar o GET /messages/client API.

Passos
  1. Chame a API da lista que você deseja usar.

  2. Use o GET /messages/client API para visualizar o resultado da operação.

  3. Use a mesma API anexando a ID que você acabou de receber: GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>

    Observe que o ID muda cada vez que você chama o GET /messages/client API.

Exemplo

Quando você liga para o list-s3-buckets API, um resultado não é retornado imediatamente:

GET http://api.cloudsync.netapp.com/api/data-brokers/<data-broker-id>/list-s3-buckets
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>

O resultado é o código de status HTTP 202, o que significa que a mensagem foi aceita, mas ainda não foi processada.

Para obter o resultado da operação, você precisa usar a seguinte API:

GET http://api.cloudsync.netapp.com/api/messages/client
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>

O resultado é uma matriz com um objeto que inclui um campo de ID. O campo ID representa a última mensagem que o servidor enviou. Por exemplo:

[
    {
        "header": {
            "requestId": "init",
            "clientId": "init",
            "agentId": "init"
        },
        "payload": {
            "init": {}
        },
        "id": "5801"
    }
]

Agora você fará a seguinte chamada de API usando o ID que acabou de receber:

GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>

O resultado é uma série de mensagens. Dentro de cada mensagem há um objeto de carga útil, que consiste no nome da operação (como chave) e seu resultado (como valor). Por exemplo:

[
    {
        "payload": {
            "list-s3-buckets": [
                {
                    "tags": [
                        {
                            "Value": "100$",
                            "Key": "price"
                        }
                    ],
                    "region": {
                        "displayName": "US West (Oregon)",
                        "name": "us-west-2"
                    },
                    "name": "small"
                }
            ]
        },
        "header": {
            "requestId": "f687ac55-2f0c-40e3-9fa6-57fb8c4094a3",
            "clientId": "5beb032f548e6e35f4ed1ba9",
            "agentId": "5bed61f4489fb04e34a9aac6"
        },
        "id": "5802"
    }
]

Referência de API

A documentação para cada API de cópia e sincronização está disponível em https://api.cloudsync.netapp.com/docs .