Skip to main content
Cloud Manager 3.8
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

API Cloud Sync

Contributeurs

Les fonctionnalités Cloud Sync disponibles via l'interface utilisateur Web sont également disponibles via les API RESTful.

Pour commencer

Pour commencer à utiliser les API Cloud Sync, vous devez obtenir un jeton d'utilisateur et votre identifiant de compte Cloud Central. Vous devrez ajouter le jeton et l'ID de compte à l'en-tête autorisation lorsque vous passez des appels API.

Étapes
  1. Obtenez un jeton utilisateur auprès de NetApp Cloud Central.

    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>"
    }
  2. Obtenez votre ID de compte Cloud Central.

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

    Cette API renvoie une réponse comme suit :

    [
      {
        "accountId": "account-JeL97Ry3",
        "name": "Test"
      }
    ]
  3. Ajoutez le jeton utilisateur et l'ID de compte dans l'en-tête autorisation de chaque appel d'API.

    Exemple

    L'exemple suivant montre un appel API pour créer un courtier de données dans Microsoft Azure. Il vous suffit de remplacer <user_token> et <AccountID> par le jeton et l'ID obtenus lors des étapes précédentes.

    POST https://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 dois-je faire lorsque le jeton expire ?

Le jeton utilisateur de NetApp Cloud Central a une date d'expiration. Pour actualiser le jeton, vous devez à nouveau appeler l'API à partir de l'étape 1.

La réponse de l'API inclut un champ " expire_in " qui indique la date d'expiration du jeton.

Référence API

La documentation de chaque API Cloud Sync est disponible à partir de "NetApp Cloud Central".

Utilisation d'API de liste

Les API de liste sont des API asynchrones. Les résultats ne reviennent donc pas immédiatement (par exemple : GET /data-brokers/{id}/list-nfs-export-folders et GET /data-brokers/{id}/list-s3-buckets). La seule réponse du serveur est l'état HTTP 202. Pour obtenir le résultat réel, vous devez utiliser le GET /messages/client API.

Étapes
  1. Appelez l'API de liste que vous souhaitez utiliser.

  2. Utilisez le GET /messages/client API pour afficher le résultat de l'opération.

  3. Utilisez la même API en l'ajoutant avec l'ID que vous venez de recevoir : GET http://cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>

    Notez que l'ID change chaque fois que vous appelez le GET /messages/client API.

Exemple

Lorsque vous appelez le list-s3-buckets API, le résultat n'est pas immédiatement renvoyé :

GET http://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>

Le résultat est le code d'état HTTP 202, ce qui signifie que le message a été accepté, mais qu'il n'a pas encore été traité.

Pour obtenir le résultat de l'opération, vous devez utiliser l'API suivante :

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

Le résultat est un tableau avec un objet qui inclut un champ ID. Le champ ID représente le dernier message envoyé par le serveur. Par exemple :

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

Vous devez maintenant passer l'appel API suivant à l'aide de l'ID que vous venez de recevoir :

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

Le résultat est un tableau de messages. Dans chaque message se trouve un objet Payload, qui se compose du nom de l'opération (en tant que clé) et de son résultat (en valeur). Par exemple :

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