Reservierungen oder Anfragen für vorausschauende Reservierungen ansehen


In diesem Dokument wird erläutert, wie Sie Ihre Reservierungen oder vorausschauenden Reservierungsanfragen ansehen. Weitere Informationen zu den verschiedenen Reservierungstypen finden Sie unter Reservierungstyp auswählen.

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

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

  • Anzahl der verbrauchbaren Instanzen ermitteln Mit dieser Prüfung können Sie ermitteln, wie viele Compute Engine-Instanzen Ihre reservierte Kapazität nutzen 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 so bei Compute Engine authentifizieren.
    <x0A>

    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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

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 Anzeigen 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 anzusehen:

  • So zeigen Sie eine Liste der Reservierungen an: compute.reservations.list im Projekt
  • So zeigen Sie eine Liste der zukünftigen Reservierungsanfragen an: compute.futureReservations.list im Projekt
  • So zeigen Sie die Details einer Reservierung an: compute.reservations.get im Projekt
  • So zeigen Sie die Details einer vorausschauenden Reservierungsanfrage an: compute.futureReservations.get im 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

Verwenden Sie eine der in diesem Abschnitt beschriebenen Methoden, um die Einstellungen einer oder mehrerer Reservierungen aufzurufen:

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

  • Wenn Sie die vollständigen Details einer einzelnen Reservierung aufrufen möchten, sehen Sie sich die Details der Reservierung an.

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

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Zu „Reservierungen“

    Auf dem Tab On-Demand-Reservierungen (Standard) wird in der Tabelle jede Reservierung aufgeführt und in jeder Spalte ein Attribut beschrieben.

  2. Optional: Führen Sie in der Tabelle On-Demand-Reservierungen einen oder beide der folgenden Schritte aus:

    • Wenn Sie die garantierte Anzahl Ihrer Reservierungen anzeigen möchten, klicken Sie auf  Spaltenanzeigeoptionen..., wählen Sie das Kästchen Garantierte Anzahl aus und klicken Sie auf OK.

    • 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. Klicken Sie in der Spalte Name auf den Namen der Reservierung, um die Details aufzurufen. 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 durch das 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 die Reservierung vorhanden ist.

    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

  • Verwenden Sie das folgende Codebeispiel, um eine Liste Ihrer Reservierungen aufzurufen:

    // 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
    }
    
    
  • So rufen Sie die Details einer Reservierung auf:

    // 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

  • Verwenden Sie das folgende Codebeispiel, um eine Liste Ihrer Reservierungen aufzurufen:

    /*
     * 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;
      }
    }
  • So rufen Sie die Details einer Reservierung auf:

    /*
     * 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

  • Verwenden Sie das folgende Codebeispiel, um eine Liste Ihrer Reservierungen aufzurufen:

    /*
     * 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;
    });
    
  • So rufen Sie die Details einer Reservierung auf:

    /*
     * 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

  • Verwenden Sie das folgende Codebeispiel, um eine Liste Ihrer Reservierungen aufzurufen:

    # 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
    
    
    
  • So rufen Sie die Details einer Reservierung auf:

    # 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

  • Wenn Sie eine Liste Ihrer Reservierungen aufrufen möchten, stellen Sie eine GET-Anfrage an die Methode reservations.list:

    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 eingrenzen, indem Sie den Abfrageparameter filter einfügen:

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

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck, in dem URL-codierte Werte verwendet werden.

  • 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 die Reservierung vorhanden ist.

    • 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

Verwenden Sie eine der in diesem Abschnitt beschriebenen Methoden, um die Einstellungen einer oder mehrerer vorausschauender Reservierungsanfragen aufzurufen:

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

  • Wenn Sie die vollständigen Details einer einzelnen vorausschauenden Reservierungsanfrage aufrufen möchten, rufen Sie die Details der Anfrage auf.

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

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Zu „Reservierungen“

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

    In der Tabelle wird jede zukünftige Reservierungsanfrage aufgeführt und jede Spalte beschreibt eine Eigenschaft.

  3. Optional: Wenn Sie die Liste der Anfragen eingrenzen möchten, wählen Sie im Feld Filter die Attribute 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 Befehl gcloud beta compute future-reservations list, 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 vorausschauenden 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 Befehl gcloud beta compute future-reservations describe, 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 die zukünftige Reservierungsanfrage vorhanden ist.

    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 aufrufen möchten, stellen Sie eine GET-Anfrage an die Beta-Methode 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 vorausschauenden 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 vorausschauenden Reservierungsanfragen mithilfe eines Filterausdrucks eingrenzen. Fügen Sie dazu den Abfrageparameter filter ein:

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

    Ersetzen Sie FILTER_EXPRESSION durch einen Filterausdruck, in dem URL-codierte Werte verwendet werden.

  • Wenn Sie die Details einer zukünftigen Reservierungsanfrage aufrufen möchten, stellen Sie eine GET-Anfrage an die Beta-Methode 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 die zukünftige Reservierungsanfrage vorhanden ist.

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

    Die Ausgabe sieht 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 nutzbaren Instanzen ermitteln

Führen Sie einen der folgenden Schritte aus, um die Anzahl der Compute-Instanzen zu ermitteln, die Ihre reservierte Kapazität nutzen können:

Nutzbare Instanzen in einer Reservierung

Wenn Sie die Details einer Reservierung aufrufen, können Sie anhand der folgenden Felder sehen, wie viele Compute-Instanzen die Reservierung nutzen und wie viele Instanzen sie nutzen können:

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

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

  • Verwendete Maschinen (inUseCount): Die Anzahl der aktiven Instanzen in Ihrem Projekt oder in einem Projekt, für das eine freigegebene Reservierung freigegeben ist, die die Reservierung nutzen.

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

Verbrauchbare Instanzen in einer Anfrage für vorausschauende Reservierungen

Sie können die Anzahl der Compute-Instanzen ermitteln, für 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 können sehen, wie viele laufende Instanzen und nicht verwendete Reservierungen in Ihrem Projekt und in allen Projekten, mit denen die Anfrage geteilt wird, den Anfrageattributen entsprechen.

  2. Ziehen Sie die Anzahl der übereinstimmenden laufenden Instanzen und ungenutzten Reservierungen von der Gesamtzahl in der Anfrage ab.

Sie können die Anzahl der verbrauchbaren Instanzen für einzelne oder mehrere Anfragen gleichzeitig ermitteln. Bei mehreren Anfragen verwenden Sie die Google Cloud Konsole oder die REST API. Wählen Sie für einzelne Anfragen eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Zu „Reservierungen“

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

    In der Tabelle wird jede zukünftige Reservierungsanfrage aufgeführt und jede Spalte beschreibt eine Eigenschaft.

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

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

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

    • Anzahl der Übereinstimmungen entspricht der Gesamtzahl: Compute Engine reserviert zum Startzeitpunkt keine Instanzen für Ihre Anfrage.

    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. Sehen Sie sich im Abschnitt Ressourcendetails das Feld Letzte Auswertungszeit der übereinstimmenden Nutzung an.

gcloud

  1. Verwenden Sie den Befehl gcloud beta compute future-reservations describe, 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 die zukünftige Reservierungsanfrage vorhanden ist.

    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. Ziehen Sie den Wert von count von totalCount ab. 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, stellen Sie eine GET-Anfrage an die Beta-Methode 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 vorausschauenden Reservierungsanfragen erstellt haben.

    • ZONE: die Zone, in der die zukünftige Reservierungsanfrage vorhanden ist.

    Suchen Sie in der Ausgabe nach den Feldern count und totalCount für jeden Entwurf, jede ausstehende Genehmigung oder jede 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. Ziehen Sie für jede Anfrage den Wert von count von totalCount ab. Wenn count beispielsweise 50 und totalCount 100 ist, erstellt Compute Engine automatisch eine Reservierung für 50 Instanzen zur Startzeit 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.

Verbrauchbare Instanzen in einer Anfrage für vorausschauende Reservierungen im Kalendermodus

Wenn Sie die Details einer zukünftigen Reservierungsanfrage ansehen, können Sie sehen, wie viele Compute-Instanzen Compute Engine zum Startzeitpunkt der Anfrage bereitstellen möchte. Compute Engine erstellt die im Antrag angegebene Anzahl von Instanzen, unabhängig von der Anzahl der übereinstimmenden Instanzen in Ihrem Projekt oder in einem Projekt, für das der Antrag freigegeben ist.

Nächste Schritte