APIs de NetApp Copy and Sync
Os recursos de NetApp Copy and Sync 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.
- 
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>" }Se estiver usando uma conta de e-mail pessoal sem ID de cliente, você pode usar o ID de cliente padrão "QC3AgHk6qdbmC7Yyr82ApBwaaJLwRrNO".  - 
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/jsonEsta API retornará uma resposta como a seguinte:
[ { "accountId": "account-JeL97Ry3", "name": "Test" } ] - 
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 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.
- 
Chame a API da lista que você deseja usar.
 - 
Use o
GET /messages/clientAPI para visualizar o resultado da operação. - 
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/clientAPI. 
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 .