Daten in Google Cloud Storage sichern

Auf dieser Seite wird erläutert, wie Sie Daten eines lokalen Rechners in Cloud Storage mithilfe von Cloud Tools for PowerShell sichern. Im Gegensatz zu den meisten Ressourcen bietet Cloud Tools for PowerShell zwei Möglichkeiten, um auf Google Cloud Storage-Ressourcen zuzugreifen: Cmdlets und einen Powershell-Anbieter.

Mit dem Provider können Sie auf Storage-Buckets und Storage-Objekte wie ein Dateisystem zugreifen. Dabei verwenden Sie die Dateisystembefehle, mit denen Sie bereits vertraut sind. Allerdings hat der Provider einige Einschränkungen. Nicht alle legalen Objektnamen können in legale Providernamen umgewandelt werden. Sie können den Provider nicht zur Verwaltung von ACLs verwenden. In diesen erweiterten Fällen können Sie die Cmdlets verwenden. Weitere Informationen zu Cloud Storage-Cmdlets erhalten Sie in der Cmdlet-Referenz für Cloud Tools for PowerShell.

Daten hochladen

In Cloud Storage sind Daten in Buckets organisiert. So erstellen Sie einen neuen Bucket:

Cmdlets

Verwenden Sie zum Erstellen eines neuen Buckets das Cmdlet New-GcsBucket:

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

Anbieter

Buckets sind Ordner, die sich im Stammverzeichnis des Laufwerks gs:\ befinden. Wenn Sie ein neues Objekt auf dieser Ebene erstellen, wird ein neuer Bucket erstellt.

cd gs:\
$bucket = "my-gcs-bucket"
mkdir $bucket

Dateien in einen Bucket hochladen

Sie können eine einzelne Datei oder ein ganzes Verzeichnis in Ihren Bucket hochladen:

Cmdlets

Verwenden Sie New-GcsObject. Dies benötigt einen Ziel-Bucket und einen Objektnamen als Parameter. Es hängt vom verwendeten Parametersatz ab, wo die Inhalte des neuen Storage-Objekts herkommen.

Sie können den Inhalt einer lokalen Datei in Cloud Storage hochladen, indem Sie den Parameter -File verwenden und einen Dateipfad angeben. Alternativ können Sie den Inhalt des Objekts als String über die PowerShell-Pipeline übergeben oder den Parameter -Value verwenden.

Sie können ein gesamtes Verzeichnis vom lokalen Laufwerk in Cloud Storage hochladen, indem Sie den Parameter -Folder verwenden und den Ordnerpfad angeben. Wenn der Ordner nicht direkt in das Stammverzeichnis des Cloud Storage-Buckets hochgeladen werden soll, geben Sie mit -ObjectNamePrefix ein Präfix an, das auf jedes hochgeladene Objekt angewendet wird.

# Upload the folder LogFiles and its content to the root of the widget bucket.
New-GcsObject -Bucket "widget" -Folder "C:\inetpub\logs\LogFiles"

# Upload the folder LogFiles and its content to directory Test in the widget bucket.
New-GcsObject -Bucket "widget" -Folder "C:\inetpub\logs\LogFiles" -ObjectNamePrefix "Test"

Anbieter

Verwenden Sie New-Item. Dafür muss ein Pfad zum Objekt erstellt werden. Dabei kann es sich um einen absoluten oder einen relativen Pfad handeln. Der Inhalt des neuen Storage-Objekts kann entweder als String für den Parameter -Value oder durch Angabe eines Dateipfads für den Parameter -File angegeben werden.

New-Item gs:\my-gcs-bucket\new-object -File $file

Mit dem folgenden Snippet wird ein gesamtes Verzeichnis vom lokalen Laufwerk in Cloud Storage hochgeladen.

cd $folder
$files = Get-ChildItem -Recurse
$data = @()
foreach ($file in $files) {
      $objectPath = $file | Resolve-Path -Relative
      $data += @{file = $file; objectPath = $objectPath}
}
cd gs:\my-gcs-bucket
foreach($element in $data) {
      Write-Host "`t${$element.objectPath}"
      New-Item $element.objectPath -File $element.file
}

Daten durchsuchen

Sie können Daten mit Cmdlets oder dem Anbieter durchsuchen. Die Suche erfolgt mit herkömmlichen Cmdlets für die Dateisuche.

Cmdlets

Mit Get-GcsObject können Sie die Objekte eines Buckets suchen. Dies kann zum Visualisieren Ihrer Daten in Kombination mit dem Cmdlet Out-GridView nützlich sein.

Get-GcsObject $bucket | Select Name, Size | Out-GridView

Anbieter

Sie können Get-ChildItem oder einen der zugehörigen Aliasse verwenden: dir, ls oder gci. Mit dem Parameter -Recurse können Sie in allen logischen Ordnern suchen:

cd gs:\my-gcs-bucket
ls -Recurse

Daten lesen

Verwenden Sie zum Lesen von Daten über den Anbieter das Standard-Cmdlet Get-Content. Alternativ können Sie das Cmdlet Read-GcsObject verwenden.

Cmdlets

Verwenden Sie zum Lesen des Inhalts eines Cloud Storage-Objekts das Cmdlet Read-GcsObject. Die Inhalte des Objekts werden standardmäßig als String gelesen und in die PowerShell-Pipeline geschrieben. Sie können den Parameter -OutFile angeben, um stattdessen den Inhalt des Objekts auf das lokale Laufwerk herunterzuladen:

Read-GcsObject $bucket "timestamp.txt" | Write-Host
Read-GcsObject $bucket "logo.png" `
    -OutFile "$Env:UserProfile\pictures\logo.png"

Anbieter

Verwenden Sie zum Lesen des Inhalts eines Cloud Storage-Objekts das Cmdlet Get-Content oder einen seiner Aliasse: cat, gc oder type.

cd gs:\my-gcs-bucket
cat my-object-name

Daten löschen

Verwenden Sie zum Löschen von Daten über den Anbieter das Standard-Cmdlet Remove-Item. Alternativ können Sie das Cmdlet Remove-GcsObject verwenden.

Cmdlets

Zum Entfernen von Daten in Cloud Storage verwenden Sie das Cmdlet Remove-GcsObject:

Get-GcsObject $bucket | Remove-GcsObject

Anbieter

Verwenden Sie zum Entfernen von Daten in Cloud Storage das Cmdlet Remove-Item oder einen der zugehörigen Aliasse del, rm, erase:

cd gs:\my-gcs-bucket
rm my-object-name