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

Jobs

Beitragende ciarm dmp-netapp

Verwenden Sie die Job-APIs zum Überprüfen von Jobdetails. Weitere Informationen zum Arbeiten mit Jobs finden Sie unter Job Objects API und asynchrone Prozesse.

Jobs abrufen

Verwenden Sie die in der folgenden Tabelle aufgeführte Methode zum Abrufen aller Jobs oder einer Teilmenge der Jobs. Wenn Sie eine Tenant_id angeben, werden nur die Jobs zurückgegeben, die zu diesem Mandanten gehören.

HTTP-Methode Pfad Beschreibung Parameter

GET

/v2.1/Jobs

Jobs abrufen.

Tenant_id: (Optional) gibt die Blockspeicher zurück, die zum angegebenen Mandanten gehören. Offset und Limit – siehe "Gemeinsame Paginierung"

Erforderliche Body-Attribute für Anforderung: none

Beispiel des Körpers anfordern:

none

Beispiel des Antwortkörpers:

{
  "status": {
    "user_message": "Okay. Returned 1 record.",
    "verbose_message": "",
    "code": 200
  },
  "result": {
    "returned_records": 1,
    "total_records": 2625,
    "sort_by": "created",
    "order_by": "desc",
    "offset": 0,
    "limit": 1,
    "records": [
      {
        "id": "5ed72c8c6342e90001439d54",
        "action": "create",
        "job_summary": "Create request is successfully submitted",
        "created": "2020-06-03T04:52:28.478Z",
        "updated": "2020-06-03T04:52:32.636Z",
        "object_id": "5ed72c8c6342e90001439d55",
        "object_type": "sg_buckets",
        "object_name": "test1234",
        "status": "successful",
        "status_detail": "Creation of s3 bucket 'test1234' completed successfully.",
        "last_error": "",
        "user_id": "5e85225af038943eb4b74684",
        "job_tasks": [
          {
            "id": "5ed72c8c6342e90001439d57",
            "job_id": "5ed72c8c6342e90001439d54",
            "action": "create",
            "driver": "storagegrid_ansible",
            "object_id": "5ed72c8c6342e90001439d55",
            "object_type": "sg_buckets",
            "resource_type": "sg_bucket",
            "status": "successful",
            "status_detail": "Worker completed task successfully.",
            "last_error": "",
            "user_id": "5e85225af038943eb4b74684",
            "request_payload": {
              "grid_account_id": "05336917559886003354",
              "grid_admin_base_url": "https://sggmi-dev.dev.ausngs.netapp.au/api/v3",
              "org_password": "netapp01",
              "org_username": "root",
              "s3_bucket_name": "test1234"
            }
          }
        ]
      }
    ]
  }
}

Abrufen eines Jobs nach Job-ID

Verwenden Sie die in der folgenden Tabelle aufgeführte Methode, um einen Job anhand der ID abzurufen.

HTTP-Methode Pfad Beschreibung Parameter

GET

/v2.1/Jobs/{id}

Abrufen eines Jobs nach ID

id (String): Die eindeutige Kennung für den Job.

Erforderliche Body-Attribute für Anforderung: Job-ID

Beispiel des Körpers anfordern:

none

Beispiel des Antwortkörpers:

{
  "status": {
    "user_message": "Okay. Returned 1 record.",
    "verbose_message": "",
    "code": 200
  },
  "result": {
    "total_records": 1,
    "records": [
      {
        "id": "5e66f18e09a74c0001b89640",
        "action": "create",
        "job_summary": "Create S3 bucket for Sub Tenant",
        "created": "2020-03-10T01:46:54.097Z",
        "updated": "2020-03-10T01:46:57.664Z",
        "object_id": "5e66f18e09a74c0001b89641",
        "object_type": "sg_buckets",
        "status": "successful",
        "status_detail": "Creation of s3 bucket 'mys3bucket' completed successfully.",
        "last_error": "",
        "user_id": "5bbee380a2df7a04d43acaee",
        "job_tasks": [
          {
            "id": "5e66f18e09a74c0001b89642",
            "job_id": "5e66f18e09a74c0001b89640",
            "action": "create",
            "driver": "storagegrid_ansible",
            "object_id": "5e66f18e09a74c0001b89641",
            "object_type": "sg_buckets",
            "resource_type": "sg_bucket",
            "status": "successful",
            "status_detail": "Worker completed task successfully.",
            "last_error": "",
            "user_id": "5bbee380a2df7a04d43acaee",
            "request_payload": {
              "grid_account_id": "47490102387197219062",
              "grid_admin_base_url": "https://sggmi-dev.dev.ausngs.netapp.au/api/v3",
              "org_password": "netapp01",
              "org_username": "root",
              "s3_bucket_name": "mys3bucket"
            }
          }
        ]
      }
    ]
  }
}

API und asynchrone Prozesse für Job-Objekte

Einige der API-Aufrufe, insbesondere solche, die zum Hinzufügen oder Ändern von Ressourcen verwendet werden, können länger dauern als andere Anrufe. Die NetApp Service Engine verarbeitet diese langfristigen Anforderungen asynchron.

Nach einem API-Aufruf, der asynchron ausgeführt wird, weist der HTTP-Antwortcode 202 darauf hin, dass die Anforderung erfolgreich validiert und akzeptiert, aber noch nicht abgeschlossen wurde. Die Anforderung wird als Hintergrundaufgabe verarbeitet, die nach der ersten HTTP-Antwort auf den Client weiter ausgeführt wird. Die Antwort umfasst das Auftragsobjekt, das die Anfrage einschließlich der eindeutigen Kennung anverankert.

Abfragen des mit einer API-Anforderung verknüpften Jobobjekts

Das in der HTTP-Antwort zurückgegebene Jobobjekt enthält mehrere Eigenschaften. Sie können die Statuseigenschaft abfragen, um festzustellen, ob die Anfrage erfolgreich abgeschlossen wurde. Ein Job-Objekt kann sich in einem der folgenden Zustände befinden:

  • NORMAL

  • WARNUNG

  • TEILFEHLER

  • FEHLER

Es gibt zwei Verfahren, die Sie beim Abfragen eines Jobobjekts verwenden können, um einen Terminalstatus für die Aufgabe zu erkennen: Erfolg oder Fehler:

  • Standardabfrage: Der aktuelle Jobstatus wird sofort zurückgegeben.

  • Lange Abfrage: Wenn der Job-Status auf NORMAL, ERROR oder PARTIAL_FAILURES verschoben wird.

Schritte für asynchrone Anfragen

Sie können den folgenden grundlegenden Vorgang verwenden, um einen asynchronen API-Aufruf abzuschließen:

  1. Geben Sie den asynchronen API-Aufruf aus.

  2. Sie erhalten eine HTTP-Antwort 202, die darauf hinweist, dass die Anfrage erfolgreich angenommen wurde.

  3. Extrahieren Sie die Kennung für das Jobobjekt aus dem Antwortkörper.

  4. Warten Sie in einer Schleife, bis das Jobobjekt den Terminalstatus NORMAL, FEHLER oder PARTIAL_FAILURES erreicht hat.

  5. Überprüfen Sie den Terminalstatus des Jobs und rufen Sie das Jobergebnis ab.