Fehlerbehebung

Nachfolgend wird erläutert, welche Probleme bei der Interaktion mit der Cloud Asset API unter anderem auftreten können und wie Sie diese beheben.

Anfrage mit ungültigen Authentifizierungsdaten

Wenn Sie den OAuth-Header nicht korrekt eingerichtet haben, wird bei einem Aufruf folgender Fehler zurückgegeben:

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected
               OAuth 2 access token, login cookie or other valid
               authentication credential. See
               https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "Authentication error: 2"
      }
    ]
  }
}

Wiederholen Sie die Schritte zum Überprüfen der Ersteinrichtung, um dieses Problem zu beheben.

Das Dienstkonto hat keine Berechtigung.

Es wird ein Fehler zurückgegeben, wenn Sie nicht die Berechtigung zum Exportieren von Assets oder zum Abrufen des Verlaufs für eine Organisation, ein Projekt oder einen Ordner haben.

Wenn Sie beispielsweise keine Berechtigung haben und folgenden Befehl ausführen:

gcurl -d '{"outputConfig":{"gcsDestination": \
{"uri":gs://YOUR_BUCKET/NEW_FILE}}}' \
https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

wird folgender Fehler zurückgegeben:

{
 "error": {
  "code": 403,
  "message": "The caller does not have permission",
  "status": "PERMISSION_DENIED",
  "details": [
   {
    "@type": "type.googleapis.com/google.rpc.DebugInfo",
    "detail": "[ORIGINAL ERROR] generic::permission_denied: Request
    denied by Cloud IAM."
   }
  ]
 }
}

Bitten Sie Ihren Projekt-, Ordner- oder Organisationsadministrator um Zugriff, damit Sie dieses Problem beheben können. Abhängig von den Assets, die Sie exportieren oder deren Verlauf Sie abrufen möchten, benötigen Sie eine der folgenden Berechtigungen:

  • cloudasset.viewer
  • project.owner

Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Informationen zu Rollen.

Fehler beim Schreiben in die Cloud Storage-Datei

Wenn sich der Cloud Storage-Bucket, den Sie zum Speichern von exportierten Daten verwenden, nicht im Projekt mit der aktivierten Cloud Asset API befindet, über das Sie den Export ausführen, wird bei Ausführung der Anfrage der folgende Fehler angezeigt:

    {
     "error": {
      "code": 7,
      "message": "Failed to write to: YOUR_BUCKET/FILE",
     }
    }
    

Verwenden Sie zur Behebung dieses Problems entweder einen Cloud Storage-Bucket, der zum Projekt mit der aktivierten Cloud Asset API gehört, über das der Export ausgeführt wird, oder weisen Sie dem Dienstkonto service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gservice account.com die Rolle roles/storage.admin zu. Dabei ist PROJECT_NUMBER die Projektnummer des Projekts mit der aktivierten Cloud Asset API, über das der Export ausgeführt wird.

Veraltetes Ergebnis der Cloud Asset API

Die Datenaktualität in der Cloud Asset API folgt dem Best-Effort-Prinzip. Während fast alle Asset-Aktualisierungen Clients innerhalb von Minuten zur Verfügung stehen, kann es in seltenen Fällen vorkommen, dass das Ergebnis der Methode ExportAssets oder BatchGetAssetsHistory nicht die letzten Asset-Aktualisierungen enthält.

Damit Sie die letzten Asset-Aktualisierungen erhalten, stellen Sie den Zeitstempel in Cloud Asset API-Aufrufen auf zwei Minuten nach dem aktuellen Zeitstempel ein.

ExportAssets gibt temporäre Dateien aus

Der Vorgang ExportAssets kann temporäre Dateien im Ausgabeordner erstellen. Entfernen Sie diese temporären Dateien nicht, während der Vorgang ausgeführt wird. Wenn der Vorgang abgeschlossen ist, werden die temporären Dateien automatisch entfernt.

Falls die temporären Dateien noch vorhanden sind, können Sie sie nach Abschluss des Vorgangs ExportAssets sicher entfernen.

Anfrage-URL für BatchGetAssetsHistory zu lang

Die Methode BatchGetAssetsHistory ist eine HTTP-GET-Aktion, mit der alle Anfragedaten in einer URL mit Längenbeschränkung gesendet werden. Wenn die Anfrage zu lang ist, tritt daher ein Fehler auf.

Sie können dies umgehen, wenn Sie im Clientcode mit HTTP POST eine Anfrage senden, in der Content-Type auf application/x-www-form-urlencoded gesetzt ist und die den HTTP-Header X-HTTP-Method-Override: GET hat. Weitere Informationen finden Sie unter Lange Anfrage-URLs.

Das folgende Beispiel zeigt eine Anfrage für BatchGetAssetsHistory mit HTTP POST:

curl -X POST -H "X-HTTP-Method-Override: GET" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -H "Authorization: Bearer " \
     -d 'assetNames=&contentType=1&readTimeWindow.startTime=2018-09-01T09:00:00Z' \
     https://cloudasset.googleapis.com/v1/projects/:batchGetAssetsHistory
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Dokumentation zu Resource Manager