Reservierungen oder Anfragen für vorausschauende Reservierungen ansehen


In diesem Dokument wird erläutert, wie Sie Ihre Reservierungen oder zukünftigen Reservierungsanfragen aufrufen. Weitere Informationen zu den verschiedenen Arten von Reservierungen finden Sie unter Bereitstellungstyp.

Wenn Sie sich Ihre Reservierungen oder Anfragen für zukünftige Reservierungen ansehen, haben Sie folgende Möglichkeiten:

  • Reservierungseinstellungen ansehen So können Sie die Details Ihrer Reservierungen prüfen, dafür sorgen, dass sie Ihren Anforderungen entsprechen, und die Kapazität planen.

  • Legen Sie die Anzahl der Verbrauchsinstanzen fest. So können Sie ermitteln, wie viele Compute Engine-Instanzen Ihre reservierte Kapazität verbrauchen können.

Beschränkungen

Sie können eine freigegebene Reservierung oder eine freigegebene Anfrage für eine vorausschauende Reservierung nur in dem Projekt ansehen, in dem Sie sie erstellt haben.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Go

      Wenn Sie die Go Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      Java

      Wenn Sie die Java Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      Node.js

      Wenn Sie die Node.js Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      Python

      Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      REST

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Administrator (roles/compute.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von Reservierungen oder zukünftigen Reservierungsanfragen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ansehen von Reservierungen oder zukünftigen Reservierungsanfragen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Reservierungen oder zukünftige Reservierungsanfragen aufzurufen:

  • So zeigen Sie eine Liste der Reservierungen an: compute.reservations.list im Projekt
  • So rufen Sie eine Liste der zukünftigen Reservierungsanfragen auf: compute.futureReservations.list für das Projekt
  • So zeigen Sie die Details einer Reservierung an: compute.reservations.get im Projekt
  • So rufen Sie die Details einer vorausschauenden Reservierungsanfrage auf: compute.futureReservations.get für das Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Reservierungseinstellungen ansehen

In den folgenden Abschnitten wird beschrieben, wie Sie die Einstellungen Ihrer Reservierungen oder zukünftigen Reservierungsanfragen aufrufen.

Reservierungen ansehen

Sie haben folgende Möglichkeiten, die Einstellungen einer oder mehrerer Reservierungen aufzurufen:

  • Eine Übersicht über alle Reservierungen in Ihrem Projekt finden Sie in der Liste Ihrer Reservierungen.

  • Die vollständigen Details einer einzelnen Reservierung finden Sie in den Details der Reservierung.

Wenn Sie die Felder deleteAtTime und reservationSharingPolicy (Vorschau) in einer Reservierung aufrufen möchten, rufen Sie die Details einer Reservierung über die Google Cloud CLI oder die REST API auf. Wenn Sie diese Felder nicht benötigen, können Sie Reservierungen mit einer der folgenden Optionen aufrufen:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Reservierungen.

    Zu „Reservierungen“

    Auf dem Tab On-Demand-Reservierungen (Standard) sind in der Tabelle alle Reservierungen aufgeführt und jede Tabellenspalte beschreibt eine Unterkunft.

  2. Optional: Wenn Sie die Liste der Reservierungen eingrenzen möchten, wählen Sie im Feld Filter die Eigenschaften aus, nach denen Sie die Reservierungen filtern möchten.

  3. Wenn Sie die Details einer Reservierung aufrufen möchten, klicken Sie in der Spalte Name auf den Namen der Reservierung.

    Eine Seite mit den Details der Reservierung wird geöffnet.

gcloud

  • Verwenden Sie den Befehl gcloud compute reservations list, um eine Liste Ihrer Reservierungen aufzurufen:

    gcloud compute reservations list
    

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    NAME: r-01
    IN_USE_COUNT: 0
    COUNT: 5
    ZONE: us-central1-a
    SHARE_TYPE: LOCAL
    
    NAME: r-02
    IN_USE_COUNT: 3
    COUNT: 10
    ZONE: us-central1-f
    SHARE_TYPE: LOCAL
    

    Optional können Sie die Liste der Reservierungen mithilfe eines Filterausdrucks mit dem Flag --filter eingrenzen:

    gcloud compute reservations list \
        --filter="FILTER_EXPRESSION"
    

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck.

  • Wenn Sie die Details einer Reservierung aufrufen möchten, verwenden Sie den Befehl gcloud compute reservations describe:

    gcloud compute reservations describe RESERVATION_NAME \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • RESERVATION_NAME: der Name einer vorhandenen Reservierung.

    • ZONE: die Zone, in der sich die Reservierung befindet.

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    creationTimestamp: '2024-10-11T03:25:23.192-07:00'
    id: '4488228526648280060'
    kind: compute#reservation
    name: r-01
    selfLink: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/r-01
    shareSettings:
      shareType: LOCAL
    specificReservation:
      assuredCount: '50'
      count: '50'
      inUseCount: '25'
      instanceProperties:
        machineType: n2-standard-2
    specificReservationRequired: false
    status: READY
    zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a
    

Go

  • Mit dem folgenden Codebeispiel können Sie eine Liste Ihrer Reservierungen aufrufen:

    // Copyright 2024 Google LLC
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //     https://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
    
    package snippets
    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	compute "cloud.google.com/go/compute/apiv1"
    	computepb "cloud.google.com/go/compute/apiv1/computepb"
    	"google.golang.org/api/iterator"
    )
    
    // Get list of reservations for given project in particular zone
    func listReservations(w io.Writer, projectID, zone string) error {
    	// projectID := "your_project_id"
    	// zone := "us-west3-a"
    
    	ctx := context.Background()
    	reservationsClient, err := compute.NewReservationsRESTClient(ctx)
    	if err != nil {
    		return err
    	}
    	defer reservationsClient.Close()
    
    	req := &computepb.ListReservationsRequest{
    		Project: projectID,
    		Zone:    zone,
    	}
    
    	it := reservationsClient.List(ctx, req)
    	fmt.Fprintf(w, "Instances found in zone %s:\n", zone)
    	for {
    		instance, err := it.Next()
    		if err == iterator.Done {
    			break
    		}
    		if err != nil {
    			return err
    		}
    		fmt.Fprintf(w, "- %s %d\n", instance.GetName(), instance.GetSpecificReservation().GetCount())
    	}
    
    	return nil
    }
    
    
  • Mit dem folgenden Codebeispiel können Sie die Details einer Reservierung aufrufen:

    // Copyright 2024 Google LLC
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //     https://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
    
    package snippets
    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	compute "cloud.google.com/go/compute/apiv1"
    	computepb "cloud.google.com/go/compute/apiv1/computepb"
    )
    
    // Get certain reservation for given project and zone
    func getReservation(w io.Writer, projectID, zone, reservationName string) (*computepb.Reservation, error) {
    	// projectID := "your_project_id"
    	// zone := "us-west3-a"
    	// reservationName := "your_reservation_name"
    
    	ctx := context.Background()
    	reservationsClient, err := compute.NewReservationsRESTClient(ctx)
    	if err != nil {
    		return nil, err
    	}
    	defer reservationsClient.Close()
    
    	req := &computepb.GetReservationRequest{
    		Project:     projectID,
    		Reservation: reservationName,
    		Zone:        zone,
    	}
    
    	reservation, err := reservationsClient.Get(ctx, req)
    	if err != nil {
    		return nil, fmt.Errorf("unable to delete reservation: %w", err)
    	}
    
    	fmt.Fprintf(w, "Reservation: %s\n", reservation.GetName())
    
    	return reservation, nil
    }
    
    

Java

  • Mit dem folgenden Codebeispiel können Sie eine Liste Ihrer Reservierungen aufrufen:

    /*
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *   http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package compute.reservation;
    
    import com.google.cloud.compute.v1.Reservation;
    import com.google.cloud.compute.v1.ReservationsClient;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class ListReservations {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        // Project ID or project number of the Cloud project you want to use.
        String project = "YOUR_PROJECT_ID";
        // Zone in which reservations are located.
        String zone = "us-central1-a";
    
        listReservations(project, zone);
      }
    
      // List all reservations in the given project and zone.
      public static List<Reservation> listReservations(String project, String zone) throws IOException {
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests.
        List<Reservation> listOfReservations = new ArrayList<>();
    
        try (ReservationsClient reservationsClient = ReservationsClient.create()) {
          for (Reservation reservation : reservationsClient.list(project, zone).iterateAll()) {
            listOfReservations.add(reservation);
            System.out.println("Reservation: " + reservation.getName());
          }
        }
        return listOfReservations;
      }
    }
  • Mit dem folgenden Codebeispiel können Sie die Details einer Reservierung aufrufen:

    /*
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package compute.reservation;
    
    import com.google.cloud.compute.v1.Reservation;
    import com.google.cloud.compute.v1.ReservationsClient;
    import java.io.IOException;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.TimeoutException;
    
    public class GetReservation {
    
      public static void main(String[] args)
          throws IOException, ExecutionException, InterruptedException, TimeoutException {
        // TODO(developer): Replace these variables before running the sample.
        // Project ID or project number of the Cloud project you want to use.
        String projectId = "YOUR_PROJECT_ID";
        // Name of the zone in which you want to create the reservation.
        String zone = "us-central1-a";
        // Name of the reservation you want to create.
        String reservationName = "test-reservation-name";
    
        getReservation(projectId, reservationName, zone);
      }
    
      // Retrieve a reservation with the given name in the given zone.
      public static Reservation getReservation(
          String projectId, String reservationName, String zone)
          throws IOException {
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests.
        try (ReservationsClient reservationsClient = ReservationsClient.create()) {
    
          // Get the reservation.
          Reservation reservation = reservationsClient.get(projectId, zone, reservationName);
    
          System.out.println("Reservation: " + reservation.getName());
          return reservation;
        }
      }
    }

Node.js

  • Mit dem folgenden Codebeispiel können Sie eine Liste Ihrer Reservierungen aufrufen:

    /*
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *     https://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    'use strict';
    
    async function main() {
      // Import the Compute library
      const computeLib = require('@google-cloud/compute');
    
      // Instantiate a reservationsClient
      const reservationsClient = new computeLib.ReservationsClient();
    
      /**
       * TODO(developer): Update these variables before running the sample.
       */
      // The ID of the project where your reservations are located.
      const projectId = await reservationsClient.getProjectId();
      // The zone where your reservations are located.
      const zone = 'us-central1-a';
    
      async function callGetReservations() {
        const reservations = (
          await reservationsClient.list({
            project: projectId,
            zone,
          })
        )[0];
    
        console.log(JSON.stringify(reservations));
      }
    
      await callGetReservations();
    }
    
    main().catch(err => {
      console.error(err);
      process.exitCode = 1;
    });
    
  • Mit dem folgenden Codebeispiel können Sie die Details einer Reservierung aufrufen:

    /*
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *     https://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    'use strict';
    
    async function main(reservationName) {
      // Import the Compute library
      const computeLib = require('@google-cloud/compute');
    
      // Instantiate a reservationsClient
      const reservationsClient = new computeLib.ReservationsClient();
    
      /**
       * TODO(developer): Update/uncomment these variables before running the sample.
       */
      // The ID of the project where your reservation is located.
      const projectId = await reservationsClient.getProjectId();
      // The zone where your reservation is located.
      const zone = 'us-central1-a';
      // The name of the reservation to return.
      // reservationName = 'reservation-01';
    
      async function callGetReservation() {
        const requestedReservation = (
          await reservationsClient.get({
            project: projectId,
            zone,
            reservation: reservationName,
          })
        )[0];
    
        console.log(JSON.stringify(requestedReservation));
      }
    
      await callGetReservation();
    }
    
    main(...process.argv.slice(2)).catch(err => {
      console.error(err);
      process.exitCode = 1;
    });
    

Python

  • Mit dem folgenden Codebeispiel können Sie eine Liste Ihrer Reservierungen aufrufen:

    # Copyright 2024 Google LLC
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #    https://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    
    # This file is automatically generated. Please do not modify it directly.
    # Find the relevant recipe file in the samples/recipes or samples/ingredients
    # directory and apply your changes there.
    
    
    from google.cloud import compute_v1
    from google.cloud.compute_v1.services.reservations.pagers import ListPager
    
    
    def list_compute_reservation(project_id: str, zone: str = "us-central1-a") -> ListPager:
        """
        Lists all compute reservations in a specified Google Cloud project and zone.
        Args:
            project_id (str): The ID of the Google Cloud project.
            zone (str): The zone of the reservations.
        Returns:
            ListPager: A pager object containing the list of reservations.
        """
    
        client = compute_v1.ReservationsClient()
    
        reservations_list = client.list(
            project=project_id,
            zone=zone,
        )
    
        for reservation in reservations_list:
            print("Name: ", reservation.name)
            print(
                "Machine type: ",
                reservation.specific_reservation.instance_properties.machine_type,
            )
        # Example response:
        # Name:  my-reservation_1
        # Machine type:  n1-standard-1
        # Name:  my-reservation_2
        # Machine type:  n1-standard-1
    
        return reservations_list
    
    
    
  • Mit dem folgenden Codebeispiel können Sie die Details einer Reservierung aufrufen:

    # Copyright 2024 Google LLC
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #    https://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    
    # This file is automatically generated. Please do not modify it directly.
    # Find the relevant recipe file in the samples/recipes or samples/ingredients
    # directory and apply your changes there.
    
    
    from google.cloud import compute_v1
    from google.cloud.compute_v1.types import compute
    
    
    def get_compute_reservation(
        project_id: str,
        zone: str = "us-central1-a",
        reservation_name="your-reservation-name",
    ) -> compute.Reservation:
        """
        Retrieves a compute reservation from GCP.
        Args:
            project_id (str): The ID of the Google Cloud project.
            zone (str): The zone of the reservation.
            reservation_name (str): The name of the reservation to retrieve.
        Returns:
            compute.Reservation: The reservation object retrieved from Google Cloud.
        """
    
        client = compute_v1.ReservationsClient()
    
        reservation = client.get(
            project=project_id,
            zone=zone,
            reservation=reservation_name,
        )
    
        print("Name: ", reservation.name)
        print("STATUS: ", reservation.status)
        print(reservation.specific_reservation)
        # Example response:
        # Name:  your-reservation-name
        # STATUS:  READY
        # count: 3
        # instance_properties {
        #   machine_type: "n1-standard-1"
        #   local_ssds {
        #     disk_size_gb: 375
        #     interface: "NVME"
        #   }
        # ...
    
        return reservation
    
    
    

REST

  • Stellen Sie eine GET-Anfrage an die Methode reservations.list, um eine Liste Ihrer Reservierungen anzusehen:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie Ihre Reservierungen erstellt haben.

    • ZONE: die Zone, in der sich Ihre Reservierungen befinden.

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    {
      "kind": "compute#reservation",
      "id": "4100668622331754141",
      "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/reservation-05",
      "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a",
      "name": "reservation-05",
      "specificReservation": {
        "instanceProperties": {
          "machineType": "n1-standard-2"
        },
        "count": "100",
        "inUseCount": "0",
        "assuredCount": "100"
      },
      "specificReservationRequired": false,
      "status": "READY",
      "shareSettings": {
        "shareType": "LOCAL"
      }
    },
    {
      "kind": "compute#reservation",
      "id": "2533514314332214789",
      "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/reservation-04",
      "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a",
      "name": "reservation-04",
      "specificReservation": {
        "instanceProperties": {
          "machineType": "n1-standard-2",
          "guestAccelerators": [
            {
              "acceleratorType": "nvidia-tesla-t4",
              "acceleratorCount": 1
            }
          ],
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            }
          ]
        },
        "count": "50",
        "inUseCount": "25",
        "assuredCount": "50"
      },
      "specificReservationRequired": false,
      "status": "READY",
      "shareSettings": {
        "shareType": "LOCAL"
      }
    }
    

    Optional können Sie die Liste der Reservierungen mithilfe eines Filterausdrucks mit dem Abfrageparameter filter verfeinern:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations?filter=FILTER_EXPRESSION
    

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck, der URL-codierte Werte verwendet.

  • Stellen Sie eine GET-Anfrage an die Methode reservations.get, um die Details einer Reservierung aufzurufen.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie die Reservierung erstellt haben.

    • ZONE: die Zone, in der sich die Reservierung befindet.

    • RESERVATION_NAME: der Name einer vorhandenen Reservierung.

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    {
      "kind": "compute#reservation",
      "id": "4488228526648280060",
      "creationTimestamp": "2024-10-11T03:25:23.192-07:00",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/davide-experimental/zones/us-central1-a/reservations/r-01",
      "zone": "https://www.googleapis.com/compute/v1/projects/davide-experimental/zones/us-central1-a",
      "name": "r-01",
      "specificReservation": {
        "instanceProperties": {
          "machineType": "n2-standard-2"
        },
        "count": "50",
        "inUseCount": "25",
        "assuredCount": "50"
      },
      "specificReservationRequired": false,
      "status": "READY",
      "shareSettings": {
        "shareType": "LOCAL"
      }
    }
    

Zukünftige Reservierungsanfragen anzeigen

Wenn Sie die Einstellungen einer oder mehrerer zukünftiger Reservierungsanfragen aufrufen möchten, verwenden Sie eine der folgenden Methoden:

  • Wenn Sie sich einen Überblick über alle zukünftigen Reservierungsanfragen in Ihrem Projekt verschaffen möchten, rufen Sie eine Liste Ihrer Anfragen auf.

  • Die vollständigen Details einer einzelnen vorausschauenden Reservierungsanfrage finden Sie in den Details der Anfrage.

Wählen Sie eine der folgenden Optionen aus, um zukünftige Reservierungsanfragen aufzurufen:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Reservierungen.

    Zu „Reservierungen“

  2. Klicken Sie auf den Tab Zukünftige Reservierungen.

    In der Tabelle sind alle zukünftigen Reservierungsanfragen aufgeführt. Jede Tabellenspalte beschreibt eine Unterkunft.

  3. Optional: Wenn Sie die Liste der Anfragen verfeinern möchten, wählen Sie im Feld Filter die Eigenschaften aus, nach denen die Anfragen gefiltert werden sollen.

  4. Wenn Sie die Details einer Anfrage aufrufen möchten, klicken Sie in der Spalte Name auf den Namen der Anfrage.

    Eine Seite mit den Details der zukünftigen Reservierungsanfrage wird geöffnet.

gcloud

  • Verwenden Sie den gcloud beta compute future-reservations list-Befehl, um eine Liste Ihrer zukünftigen Reservierungsanfragen aufzurufen:

    gcloud beta compute future-reservations list
    

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    NAME: fr-04
    TOTAL_COUNT: 100
    START_TIME: 2025-07-20T07:00:00Z
    END_TIME: 2025-08-05T07:00:00Z
    PROCUREMENT_STATUS: FULFILLED
    ZONE: us-east1-a
    
    NAME: fr-05
    TOTAL_COUNT: 10
    START_TIME: 2025-07-20T07:00:00Z
    END_TIME: 2025-12-01T00:00:00Z
    PROCUREMENT_STATUS: PENDING_APPROVAL
    ZONE: us-west1-c
    

    Optional können Sie die Liste der zukünftigen Reservierungsanfragen mithilfe eines Filterausdrucks eingrenzen. Geben Sie dazu das Flag --filter an:

    gcloud beta compute future-reservations list \
        --filter="FILTER_EXPRESSION"
    

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck.

  • Verwenden Sie den gcloud beta compute future-reservations describe-Befehl, um die Details einer zukünftigen Reservierungsanfrage aufzurufen:

    gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • FUTURE_RESERVATION_NAME: Den Name einer vorhandenen zukünftigen Reservierungsanfrage.

    • ZONE: die Zone, in der sich die zukünftige Reservierungsanfrage befindet.

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    autoCreatedReservationsDeleteTime: '2025-05-02T01:00:00Z'
    creationTimestamp: '2025-03-23T10:08:31.613-07:00'
    id: '5212276518668495076'
    kind: compute#futureReservation
    name: fr-01
    planningStatus: SUBMITTED
    selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01
    selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076
    shareSettings:
      shareType: LOCAL
    specificSkuProperties:
      instanceProperties:
        machineType: n1-standard-64
      totalCount: '800'
    status:
      existingMatchingUsageInfo:
        count: '3'
        timestamp: '2025-03-30T01:00:00Z'
      lockTime: '2025-03-30T17:09:59.297799Z'
      procurementStatus: APPROVED
    timeWindow:
      endTime: '2025-05-02T01:00:00Z'
      startTime: '2025-04-30T17:30:00Z'
    zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
    

REST

  • Wenn Sie eine Liste Ihrer zukünftigen Reservierungsanfragen anzeigen möchten, senden Sie eine GET-Anfrage an die Betamethode futureReservations.list:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie Ihre zukünftigen Reservierungsanfragen erstellt haben.

    • ZONE: die Zone, in der sich Ihre zukünftigen Reservierungsanfragen befinden.

    Die Ausgabe sieht etwa so aus wie im folgenden Beispiel.

    {
      "id": "projects/my-project/zones/us-east1-a/futureReservations",
      "items": [
        {
          "id": "743865190848184978",
          "creationTimestamp": "2025-03-23T18:16:45.274-07:00",
          "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/fr-base",
          "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/743865190848184978",
          "zone": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a",
          "name": "fr-base",
          "specificSkuProperties": {
            "instanceProperties": {
              "machineType": "n1-standard-1"
            },
            "totalCount": "100"
          },
          "planningStatus": "SUBMITTED",
          "timeWindow": {
            "endTime": "2025-05-02T01:00:00Z",
            "startTime": "2025-04-30T17:30:00Z"
          },
          "status": {
            "procurementStatus": "FULFILLED",
            "lockTime": "2025-03-30T07:00:00Z",
            "existingMatchingUsageInfo": {
              "count": "3",
              "timestamp": "2025-03-30T01:00:00Z"
            }
          },
          "kind": "compute#futureReservation"
        },
        ...
      ],
      "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations",
      "etag": "AnzKY34l-cvvV-JnniESJ0dtQvQ=/hvc4jaHpxFAZmOt1FVtKNgzZu-M=",
      "kind": "compute#futureReservationsListResponse"
    }
    

    Optional können Sie die Liste der zukünftigen Reservierungsanfragen mithilfe eines Filterausdrucks eingrenzen. Geben Sie dazu den Abfrageparameter filter an:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/aggregated/futureReservations?filter=FILTER_EXPRESSION
    

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck, der URL-codierte Werte verwendet.

  • Wenn Sie die Details einer zukünftigen Reservierungsanfrage aufrufen möchten, senden Sie eine GET-Anfrage an die Betamethode futureReservations.get:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie die zukünftige Reservierungsanfrage erstellt haben.

    • ZONE: die Zone, in der sich die zukünftige Reservierungsanfrage befindet.

    • FUTURE_RESERVATION_NAME: Den Name einer vorhandenen zukünftigen Reservierungsanfrage.

    Die Ausgabe sieht in etwa so aus:

    {
      "autoCreatedReservationsDeleteTime": "2025-05-02T01:00:00Z",
      "creationTimestamp": "2025-03-23T10:08:31.613-07:00",
      "id": "5212276518668495076",
      "kind": "compute#futureReservation",
      "name": "fr-01",
      "planningStatus": "SUBMITTED",
      "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076",
      "shareSettings": {
        "shareType": "LOCAL"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "machineType": "n1-standard-64"
        },
        "totalCount": "800"
      },
      "status": {
        "lockTime": "2025-03-30T17:09:59.297799Z",
        "procurementStatus": "APPROVED",
        "existingMatchingUsageInfo": {
          "count": "3",
          "timestamp": "2025-03-30T01:00:00Z"
        }
      },
      "timeWindow": {
        "endTime": "2025-05-02T01:00:00Z",
        "startTime": "2025-04-30T17:30:00Z"
      },
      "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a"
    }
    

Anzahl der Verbrauchsinstanzen ermitteln

So ermitteln Sie die Anzahl der Compute-Instanzen, die Ihre reservierte Kapazität nutzen können:

Verbrauchbare Instanzen in einer Reservierung

In den Details einer Reservierung sehen Sie, wie viele Compute-Instanzen die Reservierung nutzen und wie viele Instanzen sie nutzen können. Dazu müssen Sie die folgenden Felder prüfen:

  • Gesicherte Anzahl (assuredCount): Die Anzahl der Instanzen, die in der Zone der Reservierung für Ihr Projekt und für alle Projekte reserviert sind, für die eine freigegebene Reservierung freigegeben ist.

  • Anzahl insgesamt (count): Die in der Reservierung angegebene Anzahl der reservierten Instanzen. Diese Zahl sollte mit der Anzahl der garantierten Instanzen übereinstimmen.

  • In Verwendung befindliche Maschinen (inUseCount): Die Anzahl der laufenden Instanzen in Ihrem Projekt oder in einem Projekt, für das eine freigegebene Reservierung freigegeben wurde, die die Reservierung belegen.

Wenn beispielsweise die garantierte Anzahl (assuredCount) und die Gesamtzahl (count) jeweils 50 beträgt und die Anzahl der Instanzen, die die Reservierung nutzen (inUseCount), 25 ist, können noch 25 weitere Instanzen die Reservierung nutzen, bevor sie vollständig aufgebraucht ist.

Verbrauchsinstanzen in einer Anfrage für eine vorausschauende Reservierung

Sie können die Anzahl der Compute-Instanzen festlegen, für die die Compute Engine zum Startzeitpunkt einer Anfrage für eine zukünftige Reservierung eine Reservierung erstellt. Bei einem Entwurf, einer ausstehenden Genehmigung oder einer genehmigten Anfrage können Sie diese Nummer so ermitteln:

  1. Sie sehen, wie viele laufende Instanzen und nicht verwendete Reservierungen in Ihrem Projekt und in allen Projekten, mit denen die Anfrage geteilt wird, den Anfrageeigenschaften entsprechen.

  2. Subtrahieren Sie die Anzahl der übereinstimmenden laufenden Instanzen und nicht verwendeten Reservierungen von der Gesamtzahl in der Anfrage.

Sie können die Anzahl der Verbrauchsinstanzen für einzelne oder mehrere Anfragen gleichzeitig festlegen. Verwenden Sie für mehrere Anfragen die Google Cloud Console oder die REST API. Wählen Sie für einzelne Anfragen eine der folgenden Optionen aus:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Reservierungen.

    Zu „Reservierungen“

  2. Klicken Sie auf den Tab Zukünftige Reservierungen.

    In der Tabelle sind alle zukünftigen Reservierungsanfragen aufgeführt. Jede Tabellenspalte beschreibt eine Unterkunft.

  3. Wenn Sie die Anzahl der Instanzen ermitteln möchten, die die Compute Engine zum Startzeitpunkt für eine Anfrage reservieren soll, ziehen Sie die Spalte Passende Anzahl von der Spalte Gesamtanzahl ab.

    In der Spalte Passende Anzahl wird eine der folgenden Warnungen angezeigt:

    • Die Anzahl der Übereinstimmungen ist null: Es gibt keine übereinstimmenden aktiven Instanzen oder nicht verwendeten Reservierungen in Ihrem Projekt oder in einem Projekt, mit dem Ihre Anfrage geteilt wird.

    • Übereinstimmende Anzahl entspricht der Gesamtzahl: Die Compute Engine reserviert zu Beginn Ihrer Anfrage keine Instanzen.

    Wenn Sie eine Anfrage ändern oder neue Instanzen oder Reservierungen erstellen, die der Anfrage entsprechen, aktualisiert Compute Engine die Spalte Passende Anzahl innerhalb von 30 Minuten.

  4. Optional: So prüfen Sie, wann die Spalte Passende Anzahl in einer Anfrage zuletzt aktualisiert wurde:

    1. Klicken Sie in der Spalte Name auf den Namen der Anfrage.

      Eine Seite mit den Details der zukünftigen Reservierungsanfrage wird geöffnet.

    2. Prüfen Sie im Abschnitt Ressourcendetails das Feld Letzte Auswertungszeit der übereinstimmenden Nutzung.

gcloud

  1. Verwenden Sie den gcloud beta compute future-reservations describe-Befehl, um die Details einer zukünftigen Reservierungsanfrage aufzurufen:

    gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • FUTURE_RESERVATION_NAME: Den Name einer vorhandenen zukünftigen Reservierungsanfrage.

    • ZONE: die Zone, in der sich die zukünftige Reservierungsanfrage befindet.

    Suchen Sie in der Ausgabe nach den Feldern count und totalCount:

    ...
    specificSkuProperties:
      ...
      totalCount: '100'
    status:
      existingMatchingUsageInfo:
        count: '50'
        timestamp: '2025-03-30T01:00:00Z'
      ...
      procurementStatus: DRAFTING
    ...
    
  2. Der Wert von count wird von totalCount abgezogen. Wenn count beispielsweise 50 und totalCount 100 ist, erstellt Compute Engine automatisch eine Reservierung für 50 Instanzen zum Startzeitpunkt der Anfrage.

    Wenn Sie die Anfrage ändern oder neue Instanzen oder Reservierungen erstellen, die der Anfrage entsprechen, aktualisiert Compute Engine das Feld existingMatchingUsageInfo innerhalb von 30 Minuten. Den Zeitpunkt der letzten Aktualisierung dieses Felds sehen Sie im Wert von existingMatchingUsageInfo.timestamp.

REST

  1. Wenn Sie eine Liste Ihrer zukünftigen Reservierungsanfragen anzeigen möchten, senden Sie eine GET-Anfrage an die Betamethode futureReservations.list. Fügen Sie in der Anfrage-URL den Abfrageparameter filter ein und geben Sie an, dass nur die Felder name, specificSkuProperties und status angezeigt werden sollen:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?fields=items.name,items.specificSkuProperties,items.status
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie Ihre zukünftigen Reservierungsanfragen erstellt haben.

    • ZONE: die Zone, in der sich die zukünftige Reservierungsanfrage befindet.

    Suchen Sie in der Ausgabe die Felder count und totalCount für jeden Entwurf, jede ausstehende Genehmigung oder genehmigte Anfrage:

    {
      "items": [
        {
          "specificSkuProperties": {
            ...
            totalCount: "100"
          },
          "name": "fr-01",
          "status": {
            "procurementStatus": "APPROVED",
            ...
            existingMatchingUsageInfo: {
              count: "50",
              "timestamp": "2025-01-22T07:54:26.295Z"
            }
          }
        },
        {
          "specificSkuProperties": {
            ...
            totalCount: "20"
          },
          "name": "fr-02",
          "status": {
            "procurementStatus": "DRAFTING",
            ...
            existingMatchingUsageInfo: {
              "count": "2",
              "timestamp": "2025-01-22T07:54:26.295Z"
            }
          }
        }
      ]
    }
    
  2. Für jede Anfrage wird der Wert von count von totalCount abgezogen. Wenn count beispielsweise 50 und totalCount 100 ist, erstellt Compute Engine automatisch eine Reservierung für 50 Instanzen zum Startzeitpunkt der Anfrage.

    Wenn Sie eine Anfrage ändern oder neue Instanzen oder Reservierungen erstellen, die der Anfrage entsprechen, aktualisiert Compute Engine das Feld existingMatchingUsageInfo innerhalb von 30 Minuten. Den Zeitpunkt der letzten Aktualisierung dieses Felds sehen Sie im Wert von existingMatchingUsageInfo.timestamp.

Nächste Schritte