REST API aufrufen

In dieser Anleitung erfahren Sie, wie Sie die Private Catalog Producer REST API aufrufen.

Hinweis

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Deployment Manager and Compute Engine APIs.

    Enable the APIs

Authentifizierung konfigurieren

Als Cloud-Administrator können Sie REST-Aufrufe durchführen, um Aktionen im privaten Katalog auszuführen. Geben Sie zuerst Ihre Anmeldedaten ein:

  1. Rufen Sie Ihre Client-ID und Ihr Secret ab.
  2. Rufen Sie Ihr Zugriffs-Token ab.
  3. Achten Sie darauf, dass im Bereichsparameter https://www.googleapis.com/auth/cloud-platform gesendet wird.

Katalog erstellen

Führen Sie zum Erstellen eines Katalogs den folgenden Befehl aus und ersetzen Sie dabei <token> durch Ihr OAuth2-Zugriffstoken und <organization-ID> durch Ihre Organisations-ID:

curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <token>" -d "{parent:"//cloudresourcemanager.googleapis.com/organizations/<organization-ID>", display_name:"Mobile catalog", description: "description"}" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs

Der Antworttext enthält Daten ähnlich der folgenden Ausgabe:

{
  "name": "operations/ccb.515502c5-81ad-4226-8037-1b802eed8f69"
}

Dies ist der Vorgangsname. Sie können die Vorgangs-ID aus dem Vorgangsnamen ableiten, indem Sie das Präfix operation/ entfernen. In der vorherigen Beispielantwort lautet die Vorgangs-ID ccb.515502c5-81ad-4226-8037-1b802eed8f69. Anhand der Vorgangs-ID können Sie den Status der Erstellung des Katalogs prüfen.

Status des Vorgangs einer Katalogerstellung prüfen

Führen Sie zum Erstellen eines Katalogs den folgenden Befehl aus und ersetzen Sie dabei <operation-ID> durch die Vorgangs-ID aus der vorherigen Antwort:

curl -s -H "Authorization: Bearer <token>" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/operations/<operation-ID>

Kataloge Ihrer Organisation auflisten

Führen Sie den folgenden Befehl aus und ersetzen Sie dabei <organization-number> durch die Organisationsnummer, um alle Kataloge aufzulisten, auf die Sie im Rahmen einer Organisation Zugriff haben:

curl -s -H "Authorization: Bearer <token>" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs?parent=//cloudresourcemanager.googleapis.com/organizations/<organization-number>

Der Antworttext enthält Daten ähnlich der folgenden Ausgabe:

{
  "catalogs": [
    {
      "name": "catalogs/<catalog-ID>",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/<organization-ID>",
      "displayName": "Mobile catalog",
      "description": "Mobile-related applications",
      "createTime": "2019-01-01T22:05:19.541Z",
      "updateTime": "2019-01-01T22:05:26.097Z"
    },
    {
      "name": "catalogs/<catalog ID>",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/<organization-ID>",
      "displayName": "Development tools",
      "description": "Applications and tools for developers",
      "createTime": "2019-01-06T00:08:06.090Z",
      "updateTime": "2019-01-06T00:08:08.069Z"
    },
    {
      "name": "catalogs/<catalog ID>",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/<organization-ID>",
      "displayName": "Data science catalog",
      "description": "Applications for data scientists",
      "createTime": "2019-01-06T00:09:45.319Z",
      "updateTime": "2019-01-06T00:09:48.050Z"
    },
    {
      "name": "catalogs/<catalog ID>",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/<organization-ID>",
      "displayName": "Training catalog",
      "description": "Training applications and software",
      "createTime": "2019-01-06T22:13:38.261Z",
      "updateTime": "2019-01-06T22:13:46.291Z"
    },
    {
      "name": "catalogs/<catalog-ID>",
      "parent": "//cloudresourcemanager.googleapis.com/organizations/<organization-ID>",
      "displayName": "Media catalog",
      "description": "Applications for handling audio and visual media",
      "createTime": "2019-01-07T00:15:11.949Z",
      "updateTime": "2019-01-07T00:15:15.426Z"
    }
  ]
}

Informationen zu einem bestimmten Katalog abrufen

Führen Sie den folgenden Befehl aus, um Informationen zu einem Katalog abzurufen, und ersetzen Sie dabei <catalog-ID> durch die Katalog-ID aus der Antwort auf einen API-Aufruf, um die Kataloge Ihrer Organisation aufzulisten:

curl -s -H "Authorization: Bearer <token>" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-ID>

Der Antworttext enthält Daten ähnlich der folgenden Ausgabe:

{
  "name": "catalogs/<catalog-ID>",
  "parent": "//cloudresourcemanager.googleapis.com/organizations/<organizaton-ID>",
  "displayName": "Data science catalog",
  "description": "Applications for data scientists",
  "createTime": "2019-01-01T22:05:19.541Z",
  "updateTime": "2019-01-01T22:05:26.097Z"
}

Produkt erstellen

Führen Sie zum Erstellen eines Produkts den folgenden Befehl aus und ersetzen Sie dabei <catalog-ID> durch die Katalog-ID aus der Antwort auf einen API-Aufruf, um die Kataloge Ihrer Organisation aufzulisten:

curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <token>" -d @/tmp/rest_create_product_request https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-ID>/products

Das folgende Beispiel zeigt den Inhalt der Datei /tmp/rest_create_product_request:

{
  name:"catalogs/<catalog-ID>/products/<product-name>",
  asset_type:"google.deploymentmanager.Template",
  display_metadata:{
    name:"<product-name>",
    description:"Sample Description"
  }
}

Produkte in einem Katalog auflisten

Führen Sie den folgenden Befehl aus, um Produkte in einem Katalog aufzulisten, und ersetzen Sie dabei <catalog-ID> durch die Katalog-ID aus der Antwort auf einen API-Aufruf, um die Kataloge Ihrer Organisation aufzulisten:

curl -s -H "Authorization: Bearer <token>" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-ID>/products

Der Antworttext enthält Daten ähnlich der folgenden Ausgabe:

{
  "products": [
    {
      "name": "catalogs/<catalog-ID>/products/dm-product",
      "assetType": "google.deploymentmanager.Template",
      "displayMetadata": {
        "name": "sample-metadata-name",
        "description": "sample-metadata-description",
        "tagline": "sample-metadata-tagline",
        "support_info": "sample-metadata-support-info"
      },
      "createTime": "2019-01-04T19:36:02.573Z"
    },
    {
      "name": "catalogs/<catalog-ID>/products/listingonly",
      "assetType": "google.private-catalog.ListingOnly",
      "displayMetadata": {
        "name": "listing-based product",
        "description": "description",
        "tagline": "tagline",
        "support_info": "support_info",
        "signup_url": "https://cloud.google.com/launcher",
        "documentations": [
          {
            "url": "https://cloud.google.com/launcher"
          }
        ]
      },
      "createTime": "2019-01-06T00:25:44.722Z"
    }
  ]
}

Produktversion erstellen

Führen Sie zum Erstellen einer Produktversion den folgenden Befehl aus und ersetzen Sie dabei <catalog-ID> durch eine Katalog-ID und <product-name> durch den Namen des Produkts, für das Sie eine Version erstellen möchten:

curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <token>" -d @/tmp/rest_create_version_request https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-ID>/products/<product-name>/versions

Das folgende Beispiel zeigt den Inhalt der Datei /tmp/rest_create_version_request:

{
  name: "catalogs/<catalog-ID>/products/<product-name>/versions/v1",
  description: "v1",
  original_asset: {
        imports: [
                {
                  name: "my-template",
                  content: "resources:\n name: \'awesome template\'\n  properties:\n",
                },
                {
                  name: "my-template.schema",
                  content: ""
                }
        ],
        mainTemplate: "my-template",
        templateFileType: "JINJA"
  }
}

Der Antworttext enthält Daten zum resultierenden Vorgang, ähnlich der folgenden Ausgabe:

{
  "name": "operations/cvb.efcd831d-257d-43f7-8650-f7016c7469cb"
}

Versionen eines Produkts auflisten

Führen Sie den folgenden Befehl aus, um die Versionen eines Produkts aufzulisten. Ersetzen Sie dabei <catalog-ID> durch die Katalog-ID und <product-name> durch den Namen des Produkts, für das Sie Versionen auflisten möchten:

curl -s -H "Authorization: Bearer <token>" https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-ID>/products/<product-name>/versions

Der Antworttext enthält Daten ähnlich der folgenden Ausgabe:

{
  "versions": [
    {
      "name": "catalogs/<catalog-ID>/products/<product-name>/versions/v1",
      "createTime": "2019-01-04T19:37:47.519Z",
      "updateTime": "2019-01-04T19:37:47.519Z"
    }
  ]
}

Produktsymbol hochladen

Führen Sie zum Hochladen eines Produktsymbols den folgenden Befehl aus und ersetzen Sie dabei <catalog-ID> durch die Katalog-ID und <product-name> durch den Namen des Produkts, für das Sie ein Symbol hochladen möchten:

curl -s -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <token>" -d @/tmp/rest_upload_icon_request https://cloudprivatecatalogproducer.googleapis.com/v1beta1/catalogs/<catalog-id>/products/<product-name>/icons:upload

Das folgende Beispiel zeigt den Inhalt der Datei /tmp/rest_upload_icon_request:

{
  icon_bytes: "iVBORw0KGgoA...Jggg=="
}