0

Ich habe eine Trainer-Anwendung für Cloud ML-Engine, in dem ich die kms verwenden, um meine Dateien im Google Cloud-Speicher zu entschlüsseln. Ich kann die Dateien in GCS unter Verwendung von tensorflow.python.lib.io.file_io ohne Angabe von Anmeldeinformationen herunterladen, da das zum Starten des Schulungsauftrags verwendete Dienstkonto Zugriff auf den GCS-Bucket hat, von dem die verschlüsselte Datei heruntergeladen wird. Allerdings kann ich die Standardanmeldeinformationen für die Anwendung nicht abrufen.Google-Credentials: Autorisierung von Cloud ML-Engine-Instanz

credentials = GoogleCredentials.get_application_default() 

Der obige Aufruf gibt ein leeres Objekt mit Anmeldeinformationen mit den meisten der Felder als null

{"scopes": [], "id_token": null, "kwargs": {}, "token_response": null, "client_id": null, "scope": "", "token_expiry": null, "_class": "AppAssertionCredentials", "refresh_token": null, "_module": "oauth2client.contrib.gce", "_service_account_email": null, "access_token": null, "invalid": false, "token_info_uri": null, "assertion_type": null, "token_uri": "https://www.googleapis.com/oauth2/v4/token", "client_secret": null, "revoke_uri": "https://accounts.google.com/o/oauth2/revoke", "user_agent": null} 

Ich habe erwartet, dass die Instanz für die Ausbildung bereitgestellt, durch die Cloud ML Motor sollte, automatisch in diesem Fall meine Service-Schlüssel ausgefüllt, scheint aber nicht so zu sein.

Irgendwelche Tipps, wie Sie die Zugangsdaten erhalten. (Neben den Anmeldeinformationen im Trainer-Paket :) von einschließlich)

Jede Hilfe wäre sehr geschätzt.

Antwort

0

denke ich das zurück credentials Objekt nur leer aussieht, aber wenn Sie etwas nennen wie

 

    print credentials.get_access_token() 

wird es tatsächlich eine gültige Zugriffstoken generieren. Oder Sie können damit HTTP-Anfragen oder API-Bibliotheken wie in der Application Default Credentials docs beschrieben autorisieren. Siehe auch source code für die Liste der verfügbaren Methoden.

Verwandte Themen