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 BlueXP

Colaboradores

Las funcionalidades de copia y sincronización de BlueXP que están disponibles en la interfaz de usuario web también están disponibles en la API RESTful.

Primeros pasos

Para empezar a usar la API de copia y sincronización de BlueXP, necesitas obtener un token de usuario y tu ID de cuenta de BlueXP. Deberá agregar el token y el ID de cuenta al encabezado de autorización cuando realice llamadas a la API.

Pasos
  1. Obtenga un token de usuario de BlueXP 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".
  1. Obtenga su ID de cuenta de BlueXp.

    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"
      }
    ]
  2. Agregue el identificador de usuario y el ID de cuenta en el encabezado de autorización de cada llamada de API.

    ejemplo

    El siguiente ejemplo muestra una llamada de API para crear un agente de datos en Microsoft Azure. Simplemente debería reemplazar <user_token> y <accountId> por el token y el ID que ha obtenido 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" }
¿Qué debo hacer cuando caduca el token?

El token de usuario de NetApp BlueXp tiene una fecha de vencimiento. Para actualizar el token, debe volver a llamar a la API desde el paso 1.

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

Referencia de API

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

Uso de list API

Las API de la lista son API asíncronas, por lo que el resultado no devuelve de inmediato (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, debe usar el GET /messages/client API.

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

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

  3. Utilice la misma API anexándola con 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

Al llamar al list-s3-buckets API, los resultados no se devuelven 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 se ha procesado.

Para obtener el resultado de la operación, debe usar 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 enviado por el servidor. Por ejemplo:

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

Ahora haría la siguiente llamada a la API mediante 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 un conjunto de mensajes. Dentro de cada mensaje hay un objeto de carga, que consiste en el 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"
    }
]