Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

BlueXP Kopier- und Synchronisierungs-APIs

Beitragende

Die Kopier- und Synchronisierungsfunktionen von BlueXP, die über die Web-UI verfügbar sind, sind auch über die RESTful API verfügbar.

Erste Schritte

Für den Einstieg in die BlueXP Kopier- und Synchronisierungs-API benötigen Sie ein Benutzer-Token und Ihre BlueXP Konto-ID. Bei API-Aufrufen müssen Sie das Token und die Konto-ID der Autorisierungs-Kopfzeile hinzufügen.

Schritte
  1. Beziehen Sie ein Benutzer-Token von NetApp 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>"
    }
Hinweis Wenn du ein persönliches E-Mail-Konto ohne Kunden-ID verwendest, kannst du die Standard-Client-ID „QC3AgHk6qdbmC7Yr82ApBwaaJLwRrNO“ verwenden.
  1. Holen Sie sich Ihre BlueXp Konto-ID.

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

    Diese API gibt eine Antwort wie die folgende zurück:

    [
      {
        "accountId": "account-JeL97Ry3",
        "name": "Test"
      }
    ]
  2. Fügen Sie bei jedem API-Aufruf das Benutzer-Token und die Konto-ID in die Autorisierungskopfzeile ein.

    Beispiel

    Das folgende Beispiel zeigt einen API-Aufruf zum Erstellen eines Data Brokers in Microsoft Azure. Sie ersetzen einfach <user_Token> und <AccountID> durch das Token und die ID, die Sie in den vorherigen Schritten erhalten haben.

    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" }
Was kann ich tun, wenn das Token abläuft?

Das Benutzer-Token von NetApp BlueXp weist ein Ablaufdatum auf. Um das Token zu aktualisieren, müssen Sie die API von Schritt 1 erneut aufrufen.

Die API-Antwort enthält ein Feld "expires_in", das angibt, wann das Token abläuft.

API-Referenz

Die Dokumentation zu jeder BlueXP Kopie und zu jeder Synchronisierungs-API ist unter verfügbar https://api.cloudsync.netapp.com/docs.

Verwenden von Listen-APIs

Liste-APIs sind asynchrone APIs, sodass das Ergebnis nicht sofort zurückgegeben wird (z. B.: GET /data-brokers/{id}/list-nfs-export-folders Und GET /data-brokers/{id}/list-s3-buckets). Die einzige Antwort des Servers lautet HTTP-Status 202. Um das tatsächliche Ergebnis zu erhalten, müssen Sie den verwenden GET /messages/client API:

Schritte
  1. Rufen Sie die Liste-API auf, die Sie verwenden möchten.

  2. Verwenden Sie die GET /messages/client API zum Anzeigen des Ergebnisses des Vorgangs.

  3. Verwenden Sie dieselbe API, indem Sie sie mit der ID anhängen, die Sie gerade erhalten haben: GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>

    Beachten Sie, dass sich die ID jedes Mal ändert, wenn Sie das anrufen GET /messages/client API:

Beispiel

Wenn Sie den anrufen list-s3-buckets API, ein Ergebnis wird nicht sofort zurückgegeben:

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>

Das Ergebnis ist der HTTP-Statuscode 202, d. H. Die Nachricht wurde akzeptiert, aber noch nicht verarbeitet.

Um das Ergebnis des Vorgangs zu erhalten, müssen Sie die folgende API verwenden:

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

Das Ergebnis ist ein Array mit einem Objekt, das ein ID-Feld enthält. Das ID-Feld stellt die letzte Nachricht dar, die der Server gesendet hat. Beispiel:

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

Sie würden nun den folgenden API-Aufruf mit der ID durchführen, die Sie gerade erhalten haben:

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>

Das Ergebnis ist ein Array von Meldungen. In jeder Nachricht befindet sich ein Nutzlastobjekt, das aus dem Namen der Operation (als Schlüssel) und ihrem Ergebnis (als Wert) besteht. Beispiel:

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