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