Boto-Konfigurationsdatei

Auf dieser Seite wird beschrieben, wie gsutil eine boto-Konfigurationsdatei verwendet. Außerdem finden Sie ein Beispiel für eine boto-Zusammenarbeit. Die boto-Konfigurationsdatei wird auch von boto verwendet, dem Amazon S3 SDK for Python.

Konfigurationsdatei

Die boto-Konfigurationsdatei enthält Werte, die das Verhalten von gsutil steuern. Die Variable prefer_api bestimmt beispielsweise, welche API gsutil bevorzugt verwendet. Die Variablen der boto-Konfigurationsdatei können durch direkte Bearbeitung der Konfigurationsdatei geändert werden. Die meisten Nutzer müssen diese Variablen zwar nicht bearbeiten, tun dies aber in der Regel aus einem der folgenden Gründe:

Speicherort

Der Standardspeicherort für die boto-Konfigurationsdatei ist das Basisverzeichnis des Nutzers, ~/.boto unter Linux und macOS bzw. %HOMEDRIVE%%HOMEPATH% unter Windows. Sie können den Speicherort der Konfigurationsdatei mit dem Befehl gsutil version -l abrufen.

Mit einer entsprechenden Einstellung der Umgebungsvariablen BOTO_CONFIG können Sie überschreiben, wo gsutil die Konfigurationsdatei erwartet. Sie können auch einen Pfad zu boto-Konfigurationsdateien einrichten, die geladen werden sollen. Legen Sie dazu die Umgebungsvariable BOTO_PATH mithilfe eines durch : getrennten Pfads (oder ; für Windows) fest. Wenn Sie beispielsweise die Umgebungsvariable BOTO_PATH auf Folgendes festlegen:

/etc/projects/my_group_project.boto.cfg:/home/mylogin/.boto

lädt gsutil jede im Pfad gefundene Konfigurationsdatei der Reihe nach. Dies ist nützlich, wenn Sie einen gemeinsamen Konfigurationsstatus für viele Nutzer einrichten möchten. Ein solches Szenario für die Datenfreigabe und Zusammenarbeit finden Sie im Beispiel zur Verwendung der Konfigurationsdatei.

Struktur

Die Konfigurationsdatei enthält eine Reihe von Abschnitten: [Credentials], [Boto], [GSUtil] und [OAuth2]. Im Folgenden sind die derzeit definierten Konfigurationseinstellungen nach Abschnitten aufgeführt. Ihre Verwendung wird direkt in der boto-Konfigurationsdatei in den Kommentaren vor jeder Einstellung dokumentiert:

[Credentials]
  aws_access_key_id
  aws_secret_access_key
  gs_access_key_id
  gs_host
  gs_host_header
  gs_json_host
  gs_json_host_header
  gs_json_port
  gs_oauth2_refresh_token
  gs_port
  gs_secret_access_key
  gs_service_client_id
  gs_service_key_file
  gs_service_key_file_password
  s3_host
  s3_host_header
  s3_port

[Boto]
  proxy
  proxy_type
  proxy_port
  proxy_user
  proxy_pass
  proxy_rdns
  http_socket_timeout
  ca_certificates_file
  https_validate_certificates
  debug
  max_retry_delay
  num_retries

[GoogleCompute]
  service_account

[GSUtil]
  check_hashes
  content_language
  decryption_key1 ... 100
  default_api_version
  disable_analytics_prompt
  encryption_key
  json_api_version
  max_upload_compression_buffer_size
  parallel_composite_upload_component_size
  parallel_composite_upload_threshold
  sliced_object_download_component_size
  sliced_object_download_max_components
  sliced_object_download_threshold
  parallel_process_count
  parallel_thread_count
  gzip_compression_level
  prefer_api
  resumable_threshold
  resumable_tracker_dir (deprecated in 4.6, use state_dir)
  rsync_buffer_lines
  software_update_check_period
  state_dir
  tab_completion_time_logs
  tab_completion_timeout
  task_estimation_threshold
  test_cmd_regional_bucket_location
  test_notification_url
  use_magicfile
  test_hmac_service_account
  test_hmac_alt_service_account
  test_hmac_list_service_account

[OAuth2]
  client_id
  client_secret
  oauth2_refresh_retries
  provider_authorization_uri
  provider_label
  provider_token_uri
  token_cache

Achten Sie beim Bearbeiten der Datei darauf, dass Sie keine Einstellungsnamen wie gs_access_key_id falsch bearbeiten und die Abschnittsbegrenzungen wie [Credentials] nicht entfernen.

Auf die neueste Konfigurationsdatei aktualisieren

Neue, steuerbare Konfigurationsfunktionen werden der boto-Konfigurationsdatei im Laufe der Zeit hinzugefügt, aber die meisten gsutil-Nutzer erstellen eine Konfigurationsdatei einmal und behalten sie dann lange Zeit. Dies bedeutet, dass neue Features nicht sichtbar sind, wenn Sie auf eine neuere Version von gsutil aktualisieren. Wenn Sie die neueste Konfigurationsdatei mit den neuesten Einstellungen und der entsprechenden Dokumentation abrufen möchten, benennen Sie die aktuelle Datei um (z. B. in .boto_old), führen Sie gcloud init aus – Sie können auch, wenn Sie eine Legacy-Standalone-Version von gustil verwenden gsutil config mit den Flags -a oder -e verwenden – und übertragen dann alle Konfigurationseinstellungen aus der alten Datei, die Sie behalten möchten, in die neue erstellte Datei. Beachten Sie jedoch, dass Ihre vorherigen OAuth2-Anmeldeinformationen ungültig werden, wenn Sie OAuth2-Anmeldeinformationen verwenden und den OAuth2-Konfigurationsprozess noch einmal durchlaufen.

Beispiel für das Verwenden der Konfigurationsdatei

In diesem Beispiel möchte ein kleines Unternehmen Cloud Storage als Speichersystem für seine Mitarbeiter verwenden. Als IT-Administrator erstellen Sie in der Google Cloud Console ein Projekt und erstellen Buckets für jeden Mitarbeiter. Damit Sie den Mitarbeitern die Verwendung von Cloud Storage erleichtern, legen Sie unternehmensweite Einstellungen wie beispielsweise eine Proxykonfiguration und Schwellenwerte für parallele zusammengesetzte Uploads fest und speichern Sie sie in einer zentralen Datei, auf die Mitarbeiter in ihrem BOTO-Konfigurationspfad verweisen können. Auf diese Weise müssen die Mitarbeiter die freigegebenen Teile der Konfiguration nicht manuell festlegen und Sie als Administrator können diese freigegebenen Konfigurationen bei Bedarf problemlos ändern.

Gehen Sie dazu folgendermaßen vor:

  1. Erstellen Sie eine zentrale boto-Konfigurationsdatei, die von allen Mitarbeitern gelesen werden kann.

    Verwenden Sie dazu gcloud init.

    Die boto-Konfigurationsdatei kann zum Beispiel Folgendes enthalten:

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. Weisen Sie die Mitarbeiter an, das Google Cloud CLI zu installieren.

    Während der Installation müssen die Mitarbeiter die vom Unternehmen verwendete Projekt-ID angeben. Außerdem müssen sie individuelle Anmeldedaten für die Authentifizierung generieren, da Sie Anmeldedaten niemals zentral freigeben sollten.

  3. Weisen Sie die Mitarbeiter an, eine BOTO_PATH-Umgebungsvariable hinzuzufügen.

    Die BOTO_PATH-Umgebungsvariable enthält den Pfad zur zentral gespeicherten Konfigurationsdatei, gefolgt von der lokalen Konfigurationsdatei des jeweiligen Mitarbeiters. Befindet sich die zentrale Konfigurationsdatei beispielsweise im Verzeichnis centralhub/, kann die BOTO_PATH-Umgebungsvariable für Nutzer jane so aussehen:

    BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto

Wenn Mitarbeiter gsutil ausführen, verwenden sie automatisch die Konfiguration, die in der zentralen boto-Datei festgelegt ist. Bei Bedarf kann der Administrator die Proxyeinstellungen, den Schwellenwert für parallele zusammengesetzte Uploads und andere Einstellungen in der zentralen Konfigurationsdatei ändern. Diese Änderungen gelten dann für alle Mitarbeiter, die die zentrale Konfigurationsdatei verwenden.