Erste Schritte mit der Service Control API

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite werden die grundlegenden Schritte beschrieben, die erforderlich sind, um die Service Control API auf Ihrem lokalen Computer einzurichten und mit dem Befehl curl zu testen.

Ersteinrichtung

Die Service Control API arbeitet mit verwalteten Diensten zusammen. Um die Service Control API zu verwenden, müssen Sie zuerst einen verwalteten Dienst mithilfe der Service Management API erstellen. Weitere Informationen finden Sie unter Service Management – Erste Schritte.

Nachdem Sie einen verwalteten Dienst erstellt haben, müssen Sie folgende Schritte ausführen, bevor Sie die Service Control API über Ihren verwalteten Dienst verwenden.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren und initialisieren Sie Google Cloud CLI.
  3. Google Cloud-Projekt erstellen oder auswählen.

    • Cloud-Projekt erstellen:

      gcloud projects create PROJECT_ID
    • Wählen Sie das von Ihnen erstellte Cloud-Projekt aus:

      gcloud config set project PROJECT_ID
  4. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  5. Aktivieren Sie die Service Control API:

    gcloud services enable servicecontrol.googleapis.com
  6. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/servicemanagement.serviceController

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.
  7. Installieren und initialisieren Sie Google Cloud CLI.
  8. Google Cloud-Projekt erstellen oder auswählen.

    • Cloud-Projekt erstellen:

      gcloud projects create PROJECT_ID
    • Wählen Sie das von Ihnen erstellte Cloud-Projekt aus:

      gcloud config set project PROJECT_ID
  9. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  10. Aktivieren Sie die Service Control API:

    gcloud services enable servicecontrol.googleapis.com
  11. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/servicemanagement.serviceController

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.

Mit "curl" testen

Definieren Sie zuerst einen praktischen Shell-Alias zum Aufrufen von Google REST APIs:

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" '

Die folgende Abfolge von Shell-Befehlen zeigt die Schritte für den Aufruf der Service Control API.

# Call with invalid service name "invalid.com". For security and privacy
# reasons, the permission check typically happens before other checks.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/invalid.com:check
{
  "error": {
    "code": 403,
    "message": "Permission 'servicemanagement.services.check' denied on service 'invalid.com'.",
    "status": "PERMISSION_DENIED"
  }
}

# Call without proper permission on a service.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/servicecontrol.googleapis.com:check
{
  "error": {
    "code": 403,
    "message": "Permission 'servicemanagement.services.check' denied on service 'servicecontrol.googleapis.com'.",
    "status": "PERMISSION_DENIED"
  }
}

# Call with invalid request.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT"
  }
}

# This and following call assume that the service, operation name and
# project being checked are "endpointsapis.appspot.com",
# "google.example.hello.v1.HelloService.GetHello" and
# "endpointsapis-consumer" correspondingly.
# Change to the name of your managed service, operation, and project.
# Call with invalid request.
$ gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime": "2016-06-12T22:00:15Z",
    "operationName": "google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "checkErrors": [
  {
    "code": "SERVICE_NOT_ACTIVATED",
    "detail": "Service 'endpointsapis.appspot.com' is not enabled for consumer 'project:endpointsapis-consumer'."
  }
  ]
}

# Successful call to "services.check" method after the API is enabled for
# the project.
$ gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime":"2016-07-31T05:20:00Z",
    "operationName":"google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "operationId": "123e4567-e89b-12d3-a456-426655440000"
}

Ergebnis nach Ausführung der vorherigen Schritte:

  • Sie haben eine funktionsfähige lokale Testumgebung, in der Sie beliebige Google Cloud Platform APIs aufrufen können.
  • Sie haben einen funktionsfähigen Dienst, den Sie mit der Service Management API und der Service Control API verwenden können.
  • Sie haben ein Dienstkonto mit den entsprechenden Berechtigungen, das Sie für die Ausführung Ihres Dienstes verwenden können.