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

API de copia y sincronización de NetApp

Colaboradores amgrissino

Las capacidades de copia y sincronización de NetApp que están disponibles a través de la interfaz de usuario web también están disponibles a través de la API RESTful.

Empezar

Para comenzar a utilizar la API de copia y sincronización, debe obtener un token de usuario y su ID de cuenta de consola de NetApp . Necesitará agregar el token y el ID de la cuenta al encabezado de Autorización cuando realice llamadas API.

Pasos
  1. Obtenga un token de usuario desde la consola de NetApp .

    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>"
    }
    Nota Si utiliza una cuenta de correo electrónico personal sin ID de cliente, puede utilizar el ID de cliente predeterminado "QC3AgHk6qdbmC7Yyr82ApBwaaJLwRrNO".
  2. Obtenga su ID de cuenta de consola de NetApp .

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

    Esta API devolverá una respuesta como la siguiente:

    [
      {
        "accountId": "account-JeL97Ry3",
        "name": "Test"
      }
    ]
  3. Agregue el token de usuario y el ID de cuenta en el encabezado de Autorización de cada llamada API.

    Ejemplo

    El siguiente ejemplo muestra una llamada API para crear un agente de datos en Microsoft Azure. Simplemente reemplazarías <user_token> y <accountId> con el token y el ID que obtuviste en los pasos 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" }
¿Que sigue?

El token de usuario de NetApp Console tiene una fecha de vencimiento. Para actualizar el token, debes llamar nuevamente a la API desde el paso 1.

La respuesta de la API incluye un campo "expires_in" que indica cuándo vence el token.

Utilizar API de listas

Las API de lista son API asincrónicas, por lo que el resultado no se devuelve inmediatamente (por ejemplo: GET /data-brokers/{id}/list-nfs-export-folders y GET /data-brokers/{id}/list-s3-buckets ). La única respuesta del servidor es el estado HTTP 202. Para obtener el resultado real, debes utilizar el GET /messages/client API.

Pasos
  1. Llame a la API de lista que desea utilizar.

  2. Utilice el GET /messages/client API para ver el resultado de la operación.

  3. Utilice la misma API agregándole el ID que acaba de recibir: GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>

    Tenga en cuenta que el ID cambia cada vez que llama al GET /messages/client API.

Ejemplo

Cuando llamas al list-s3-buckets API, no se devuelve un resultado inmediatamente:

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>

El resultado es el código de estado HTTP 202, lo que significa que el mensaje fue aceptado, pero aún no fue procesado.

Para obtener el resultado de la operación, debe utilizar la siguiente API:

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

El resultado es una matriz con un objeto que incluye un campo ID. El campo ID representa el último mensaje que envió el servidor. Por ejemplo:

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

Ahora deberá realizar la siguiente llamada API utilizando el ID que acaba de recibir:

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>

El resultado es una serie de mensajes. Dentro de cada mensaje hay un objeto de carga útil, que consta del nombre de la operación (como clave) y su resultado (como valor). Por ejemplo:

[
    {
        "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"
    }
]

Referencia de API

La documentación para cada API de copia y sincronización está disponible en https://api.cloudsync.netapp.com/docs .