Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

API de copie et de synchronisation NetApp

Contributeurs amgrissino

Les fonctionnalités de copie et de synchronisation NetApp disponibles via l'interface utilisateur Web sont également disponibles via l'API RESTful.

Commencer

Pour démarrer avec l’API Copier et synchroniser, vous devez obtenir un jeton utilisateur et votre ID de compte NetApp Console. Vous devrez ajouter le jeton et l'ID de compte à l'en-tête d'autorisation lors des appels d'API.

Étapes
  1. Obtenez un jeton utilisateur à partir de la console 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>"
    }
    Remarque Si vous utilisez un compte de messagerie personnel sans ID client, vous pouvez utiliser l'ID client par défaut « QC3AgHk6qdbmC7Yyr82ApBwaaJLwRrNO ».
  2. Obtenez votre ID de compte NetApp Console.

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

    Cette API renverra une réponse comme celle-ci :

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

    Exemple

    L’exemple suivant montre un appel d’API pour créer un courtier de données dans Microsoft Azure. Vous devez simplement remplacer <user_token> et <accountId> par le jeton et l’ID que vous avez obtenus dans les étapes précédentes.

    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" }
Quelle est la prochaine étape ?

Le jeton utilisateur de la console NetApp 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 « expires_in » qui indique quand le jeton expire.

Utiliser les API de liste

Les API de liste sont des API asynchrones, donc le résultat n'est pas renvoyé 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 le statut 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 visualiser le résultat de l'opération.

  3. Utilisez la même API en y ajoutant l’ID que vous venez de recevoir : GET http://api.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, un résultat n'est pas immédiatement renvoyé :

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>

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

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

GET http://api.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 effectuer l’appel d’API suivant en utilisant l’ID que vous venez de recevoir :

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>

Le résultat est un tableau de messages. À l'intérieur de chaque message se trouve un objet de charge utile, composé du nom de l'opération (comme clé) et de son résultat (comme 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"
    }
]

Référence API

La documentation de chaque API de copie et de synchronisation est disponible à partir de https://api.cloudsync.netapp.com/docs .