Skip to main content
BlueXP copy and sync
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

API di copia e sincronizzazione BlueXP

Collaboratori netapp-ivanad netapp-bcammett

Le funzionalità di copia e sincronizzazione di BlueXP disponibili tramite l'interfaccia utente Web sono disponibili anche tramite l'API RESTful.

Inizia subito

Per iniziare a utilizzare l'API di copia e sincronizzazione BlueXP, è necessario ottenere un token utente e l'ID account BlueXP. Quando si effettua una chiamata API, è necessario aggiungere il token e l'ID dell'account all'intestazione Authorization (autorizzazione).

Fasi
  1. Ottenere un token utente da BlueXP .

    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 Se si utilizza un account di posta elettronica personale senza ID client, è possibile utilizzare l'ID client predefinito "QC3AgHk6qdbmC7Yyr82ApBwaaJLwRrNO".
  2. Ottenere l'ID account BlueXP.

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

    Questa API restituirà una risposta come la seguente:

    [
      {
        "accountId": "account-JeL97Ry3",
        "name": "Test"
      }
    ]
  3. Aggiungere il token utente e l'ID account nell'intestazione Authorization di ogni chiamata API.

    Esempio

    Nell'esempio seguente viene illustrata una chiamata API per creare un data broker in Microsoft Azure. È sufficiente sostituire <user_token> e <accountId> con il token e l'ID ottenuti nei passaggi precedenti.

    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" }
Quali sono le prossime novità?

Il token utente di BlueXP  ha una data di scadenza. Per aggiornare il token, è necessario richiamare nuovamente l'API dal passaggio 1.

La risposta API include un campo "expires_in" che indica la scadenza del token.

Utilizzare le API di elenco

Le API di elenco sono API asincrone, pertanto il risultato non viene restituito immediatamente (ad esempio: GET /data-brokers/{id}/list-nfs-export-folders e. GET /data-brokers/{id}/list-s3-buckets). L'unica risposta dal server è lo stato HTTP 202. Per ottenere il risultato effettivo, è necessario utilizzare GET /messages/client API.

Fasi
  1. Chiamare l'API dell'elenco che si desidera utilizzare.

  2. Utilizzare GET /messages/client API per visualizzare il risultato dell'operazione.

  3. Utilizzare la stessa API aggiungendo l'ID appena ricevuto: GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>

    Tenere presente che l'ID cambia ogni volta che si chiama GET /messages/client API.

Esempio

Quando si chiama list-s3-buckets API, un risultato non viene restituito immediatamente:

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>

Il risultato è il codice di stato HTTP 202, che significa che il messaggio è stato accettato, ma non è stato ancora elaborato.

Per ottenere il risultato dell'operazione, è necessario utilizzare la seguente API:

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

Il risultato è una matrice con un oggetto che include un campo ID. Il campo ID rappresenta l'ultimo messaggio inviato dal server. Ad esempio:

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

A questo punto, effettuare la seguente chiamata API utilizzando l'ID appena ricevuto:

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>

Il risultato è una serie di messaggi. All'interno di ogni messaggio è presente un oggetto payload, che consiste nel nome dell'operazione (come chiave) e nel relativo risultato (come valore). Ad esempio:

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

Riferimento API

La documentazione per ciascuna API di copia e sincronizzazione BlueXP è disponibile all'interno del sito https://api.cloudsync.netapp.com/docs.