Questa pagina mostra come eseguire il backup dei dati da una macchina locale a Cloud Storage utilizzando Cloud Tools for PowerShell. A differenza della maggior parte delle risorse, Cloud Tools for PowerShell offre due modi per accedere alle risorse Cloud Storage, i cmdlet e un provider PowerShell.
Il provider consente di accedere a bucket e oggetti Storage come un file system, utilizzando i comandi del file system che già conosci. Tuttavia, il provider ha alcune limitazioni. Non tutti i nomi legali degli oggetti vengono convertiti in percorsi di provider legali. Non puoi utilizzare il provider per gestire gli ACL. Per questi casi avanzati, puoi utilizzare i cmdlet. Per saperne di più sui cmdlet di Cloud Storage, consulta il riferimento cmdlet di Cloud Tools for PowerShell.
Caricamento dei dati
I dati in Cloud Storage sono organizzati in bucket. Crea un nuovo bucket come segue:
Cmdlet
Utilizza il cmdlet New-GcsBucket
per creare un nuovo bucket:
$bucket = "my-gcs-bucket" New-GcsBucket $bucket
Provider
I bucket sono cartelle in cui si trova la directory principale dell'unità gs:\
. La creazione di un
nuovo elemento a quel livello crea un nuovo bucket.
cd gs:\ $bucket = "my-gcs-bucket" mkdir $bucket
Carica i file in un bucket
Puoi caricare un singolo file o un'intera directory nel tuo bucket:
Cmdlet
Usa la lingua New-GcsObject
. Sono necessari un bucket di destinazione e un nome dell'oggetto come parametri. La provenienza dei contenuti del nuovo oggetto Storage dipende dal set di parametri utilizzato.
Puoi caricare i contenuti di un file locale in Cloud Storage
utilizzando il parametro -File
e specificando un percorso del file. In alternativa,
puoi trasmettere i contenuti dell'oggetto come stringa tramite la pipeline di PowerShell oppure
puoi utilizzare il parametro -Value
.
Puoi caricare un'intera directory dal disco locale in Cloud Storage utilizzando il parametro -Folder
e specificando il percorso della cartella. Se non vuoi che la cartella venga caricata direttamente nella directory principale del bucket Cloud Storage, utilizza -ObjectNamePrefix
per specificare un prefisso che verrà applicato a ogni oggetto caricato.
# 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"
Provider
Usa la lingua New-Item
. Richiede un percorso all'elemento che viene creato. Può essere un percorso assoluto o un percorso relativo. I contenuti del nuovo oggetto Storage possono essere specificati come stringa al parametro -Value
oppure specificando un percorso del file nel parametro -File
.
New-Item gs:\my-gcs-bucket\new-object -File $file
Lo snippet seguente carica un'intera directory dal disco locale in Cloud Storage.
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 }
Ricerca dei dati
Puoi cercare i dati con i cmdlet o con il provider utilizzando i cmdlet comuni per la ricerca di file.
Cmdlet
Puoi cercare tra gli oggetti di un bucket utilizzando Get-GcsObject
. Questo può essere
utile quando combinato con il cmdlet Out-GridView
per visualizzare i dati:
Get-GcsObject $bucket | Select Name, Size | Out-GridView
Provider
Puoi utilizzare Get-ChildItem
o uno dei suoi alias: dir
, ls
o gci
.
Puoi utilizzare il parametro -Recurse
per cercare in tutte le cartelle logiche:
cd gs:\my-gcs-bucket ls -Recurse
Lettura dei dati
Per leggere i dati tramite il provider, utilizza il cmdlet Get-Content
standard.
In alternativa, utilizza il cmdlet Read-GcsObject
.
Cmdlet
Per leggere i contenuti di un oggetto Cloud Storage, utilizza il cmdlet
Read-GcsObject
. Per impostazione predefinita, legge i contenuti dell'oggetto come una stringa e scrive nella pipeline di PowerShell. Puoi specificare il
parametro -OutFile
per scaricare i contenuti dell'oggetto sul disco
locale:
Read-GcsObject $bucket "timestamp.txt" | Write-Host Read-GcsObject $bucket "logo.png" ` -OutFile "$Env:UserProfile\pictures\logo.png"
Provider
Per leggere i contenuti di un oggetto Cloud Storage, utilizza il cmdlet Get-Content
o uno dei suoi alias: cat
, gc
o type
.
cd gs:\my-gcs-bucket cat my-object-name
Eliminazione di dati
Per eliminare i dati tramite provider, utilizza il cmdlet Remove-Item
standard.
In alternativa, utilizza il cmdlet Remove-GcsObject
.
Cmdlet
Per rimuovere tutti i dati in Cloud Storage, utilizza il cmdlet Remove-GcsObject
:
Get-GcsObject $bucket | Remove-GcsObject
Provider
Per rimuovere i dati in Cloud Storage, utilizza il cmdlet Remove-Item
o
uno dei suoi alias del
, rm
, erase
:
cd gs:\my-gcs-bucket rm my-object-name