Auf dieser Seite werden die ersten Schritte mit Version 1 der cloudsupport.googleapis.com
API beschrieben. Version 2 dieser API ist derzeit nur als Pre-GA-Release verfügbar. Weitere Informationen finden Sie unter Beschreibungen der Startphase.
Prozessübersicht
In diesem Abschnitt wird der allgemeine Prozess für die ersten Schritte mit der API beschrieben.
- Das Customer Care-Team erstellt ein Supportkonto für den Kunden. Dies ist eine Voraussetzung für alle weiteren Vorgänge.
Der Kunde gibt dem Customer Care-Team an, welche Projekt-ID er für den Zugriff auf die API verwenden möchte. Dieses Projekt wird als Nutzerprojekt für die API festgelegt.
Dieses Projekt ist die Ressource, für die die API aktiviert ist. Für den Aufruf der API können jedoch die Anmeldedaten aus jedem Google Cloud-Projekt verwendet werden.
Der Kunde generiert einen API-Schlüssel für das Nutzerprojekt. Der Kunde verwendet diesen API-Schlüssel, um Aufrufe an die API zu senden. Informationen zum Generieren eines API-Schlüssels finden Sie unter API-Schlüssel verwenden.
Das Customer Care-Team lässt den API-Zugriff des Kundenteams zu (durch Anwenden der richtigen Sichtbarkeitslabel).
Das Customer Care-Team erlaubt dem Kundensupportkonto den Zugriff auf Dienstkonten.
Der Kunde aktiviert die Cloud Support API, indem er in der Google Cloud Console die Seite Cloud Support API aufruft und auf AKTIVIEREN klickt.
Wenn Sie die Dienstkontointegration nutzen möchten:
Der Kunde stellt mindestens ein Dienstkonten bereit. Dazu folgt er der Anleitung unter Details zu Dienstkonten.
Der Kunde gewährt dem Dienstkonto die Rolle
Organization Viewer
auf dem Tab „IAM“ in der Google Cloud Console oder eine andere Rolle mit der Berechtigungresourcemanager.organizations.get
.Dies kann auch programmatisch erfolgen:
gcloud organizations add-iam-policy-binding organizations/ord-id --role roles/resourcemanager.organizationViewer --member service-account
Der Kunde fügt eines oder mehrere dieser Dienstkonten als Supportnutzer über die Seite Support > Einstellungen in der Google Cloud Console hinzu.
Der Kunde lässt seinen JIRA-Connector oder andere Anwendungen durch Teilen der Anmeldedaten auf das Dienstkonto zugreifen. Die erforderlichen Schritte finden Sie unter Authentifizierung.
Wenn der Kunde bereits ein Tool zur Verwaltung von Anmeldedaten hat, ist es sinnvoll, dasselbe Tool für Google Cloud-Dienstkonten zu nutzen.
Die Anwendungen des Kunden führen reguläre API-Aufrufe aus (ganz wie es Endnutzer tun würden). Dabei werden die Anmeldedaten des Dienstkontos anstelle der Anmeldedaten des Endnutzers verwendet.
Wenn Sie die OAuth 2.0-Authentifizierung haben wollen:
- Wenn Sie sich nicht bereits bei Google mit OAuth2 authentifizieren, richten Sie dies ein.
Folgen Sie dazu den Anleitungen für OAuth 2.0 für den Zugriff auf Google APIs. Achten Sie besonders auf den Abschnitt zur inkrementellen Autorisierung. - Achten Sie darauf, dass die beiden folgenden Bereiche den von Ihrer Anwendung verwendeten OAuth2-Client-IDs hinzugefügt werden:
- Für den allgemeinen Zugriff auf Google Cloud:
https://www.googleapis.com/auth/cloud-platform
oderhttps://www.googleapis.com/auth/cloud-platform.read-only
- Für den Zugriff zum Abrufen oder Erstellen von Support-Tickets und anderen supportbezogenen Daten:
https://www.googleapis.com/auth/cloudsupport
- Für den allgemeinen Zugriff auf Google Cloud:
API-Definition abrufen
Die API-Definition wird als Google Cloud-Discovery-Dokument bereitgestellt.
Hier ein Beispiel: Ersetzen Sie <API_KEY>
durch einen API-Schlüssel, den Sie in einem früheren Schritt aus dem Nutzerprojekt generiert haben.
curl 'https://cloudsupport.googleapis.com/$discovery/rest?key=<API_KEY>&labels=TRUSTED_TESTER&version=v1alpha2' > /tmp/cloudsupport.v1alpha2.json
REST API
Für alle unten aufgeführten Endpunkte sollte der Wert für <host>
durch cloudsupport.googleapis.com
ersetzt werden.
Supportanfragen
Supportanfragen abrufen und erstellen.
Erforderliche Rollen
Typ | Rolle |
IAM
|
Supportkontobetrachter (Organisation) |
IAM
|
Organisationsbetrachter (Organisation) |
GetCase
Ruft den angegebenen Supportfall ab.
REST-Format
GET <host>/v1/{name=supportAccounts/*/cases/*}
Parameter
Supportkonto und Fallnummer, die in der Anfrage-URL angegeben sind.
Beispiel
curl -v -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' https://cloudsupport.googleapis.com/v1/supportAccounts/gcp-sa-1234/cases/5678
CreateCase
Erstellt einen Fall und ordnet ihn dem angegebenen Supportkonto zu.
REST-Format
POST <host>/v1/{parent=supportAccounts/*}/cases
Parameter
Name | Typ | Beschreibung |
case
|
Case
|
Ein Fallobjekt. Beispiel: { \ display_name: "My test case for Istio", \ description: "Istio network latency spike", \ category: "Compute", \ component: "Istio", \ subcomponent: "Networking", \ time_zone: "-07:00", \ cc_addresses: ["foo@domain.com", "bar@domain.com"], \ project_id: "my-gcp-test-project-1234", \ priority: 3 \ } |
Beispiel
curl -v -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' -X POST -d '{ display_name: "My app is down", description: "Datastore appears to be down so my app is broken.", component: "Cloud Datastore", subcomponent: "Availability / Latency", time_zone: "-07:00", project_id: "my-super-project", category: "Storage & Databases", priority: 3 }' https://cloudsupport.googleapis.com/v1/supportAccounts/gcp-sa-1234/cases
Clientbibliotheken erzeugen
Klonen Sie den Google APIs-Clientgenerator:
cd /tmp/; git clone https://github.com/google/apis-client-generator.git;
Prüfen Sie, ob Python 2.7 installiert ist:
sudo apt-get install python
Prüfen Sie, ob PIP installiert ist:
sudo apt-get install python-pip
Installieren Sie die Abhängigkeiten:
pip install google-apis-client-generator
Clientbibliotheken erstellen:
Dieser Befehl generiert eine oder zwei Warnungen, die mit WARNING:root:object without properties
beginnen. Sie können ignoriert werden. Die Clientbibliothek wird weiterhin generiert.
./generate.sh --input=/tmp/cloudsupport.v1alpha2.json --output_dir=/tmp/cloudsupport_generated --language=java
Mit der API
Hinweis
- Abhängigkeit von API-Clientbibliotheken für Java hinzufügen
- Abhängigkeit von dem Code hinzufügen, der im obigen Schritt generiert wurde
Prüfen Sie, ob der Code erfolgreich erstellt wurde
// Shared constants String CLOUD_SUPPORT_SCOPE = "https://www.googleapis.com/auth/cloudsupport"; // Customer specific config String SERVICE_ACCOUNT_ID = "<... service account id ...>"; File SERVICE_ACCOUNT_PRIVATE_KEY = new File("<... p12 key file ...>"); String SUPPORT_ACCOUNT_ID = "supportAccounts/gcp-sa-<......>"; // Service setup JsonFactory jsonFactory = JacksonFactory.getDefaultInstance(); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); // This section is for service account authentication // If you are using OAuth2 instead, follow guide at // https://developers.google.com/api-client-library/java/google-oauth-java-client/oauth2 GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId(SERVICE_ACCOUNT_ID) .setServiceAccountPrivateKeyFromP12File(SERVICE_ACCOUNT_PRIVATE_KEY) .setServiceAccountScopes(Collections.singleton(CLOUD_SUPPORT_SCOPE)) .build(); // Main API service is ready to use! CloudSupport supportService = new CloudSupport.Builder(httpTransport, jsonFactory, credential).build(); // Each call will look something like this: SupportAccount account = supportService.supportAccounts().get(SUPPORT_ACCOUNT_ID).execute();