Backup dei dati su Cloud Storage

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 di Cloud Storage: i cmdlet e un provider di PowerShell.

Il provider consente di accedere ai bucket e agli oggetti di Storage come un file system, utilizzando i comandi di file system che già conosci. Il provider presenta tuttavia alcune limitazioni. Non tutti i nomi degli oggetti legali si convertono in percorsi del provider legale. Non puoi utilizzare il provider per gestire gli ACL. Per questi casi più avanzati, puoi utilizzare i cmdlet. Per ulteriori informazioni sui cmdlet di Cloud Storage, consulta il riferimento per i 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 nella directory principale dell'unità gs:\. La creazione di un nuovo elemento a quel livello creerà 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 New-GcsObject. Richiede un bucket di destinazione e un nome di 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 file. In alternativa, puoi passare il contenuto dell'oggetto come stringa tramite la pipeline PowerShell oppure puoi utilizzare il parametro -Value.

Puoi caricare un'intera directory dal disco locale a 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 New-Item. Richiede un percorso dell'elemento in fase di creazione. Può essere un percorso assoluto o relativo. I contenuti del nuovo oggetto Storage possono essere specificati come stringa nel parametro -Value o specificando un percorso file per il parametro -File.

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

Lo snippet seguente carica un'intera directory dal disco locale a 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 di dati

Puoi cercare i dati con i cmdlet o con il provider tramite i comuni cmdlet di ricerca dei file.

Cmdlet

Puoi cercare gli oggetti di un bucket utilizzando Get-GcsObject. Questo può essere utile se 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 stringa e li scrive nella pipeline di PowerShell. Puoi invece 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 il provider, utilizza il Cmdlet Remove-Item standard. In alternativa, utilizza il cmdlet Remove-GcsObject.

Cmdlet

Per rimuovere 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