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

Il provider ti consente di accedere a bucket e oggetti di Storage come un file system, utilizzando i comandi del file system che già conosci. Tuttavia, il fornitore presenta alcune limitazioni. Non tutti i nomi degli oggetti legali vengono convertiti in percorsi dei fornitori di servizi legali. Non puoi utilizzare il provider per gestire le ACL. Per questi casi avanzati, puoi utilizzare i cmdlet. Consulta la documentazione di riferimento dei cmdlet Cloud Tools for PowerShell per saperne di più sui cmdlet Cloud Storage.

Caricamento dei dati

I dati in Cloud Storage sono organizzati in bucket. Crea un nuovo bucket come segue:

Cmdlets

Utilizza il cmdlet New-GcsBucket per creare un nuovo bucket:

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

Provider

I bucket sono cartelle nella radice del gs:\. La creazione di un nuovo elemento a quel livello comporterà la creazione di un nuovo bucket.

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

Caricare file in un bucket

Puoi caricare un singolo file o un'intera directory nel tuo bucket:

Cmdlets

Utilizza New-GcsObject. Sono necessari un bucket di destinazione e un nome dell'oggetto come parametri. La provenienza dei contenuti del nuovo oggetto Storage dipende dall'insieme di parametri utilizzato.

Puoi caricare i contenuti di un file locale su Cloud Storage utilizzando il parametro -File e specificando un percorso file. In alternativa, puoi trasmettere i contenuti dell'oggetto come stringa tramite la pipeline PowerShell o utilizzare il parametro -Value.

Puoi caricare un'intera directory dal disco locale su 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

Utilizza New-Item. Richiede un percorso per l'elemento che viene creato. Può trattarsi di un percorso assoluto o relativo. I contenuti del nuovo oggetto archiviazione possono essere specificati come stringa per il parametro -Value o specificando un percorso file per il parametro -File.

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

Il seguente snippet carica un'intera directory dal disco locale su 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 tramite i cmdlet di ricerca dei file comuni.

Cmdlets

Puoi cercare gli oggetti di un bucket utilizzando Get-GcsObject. Questa operazione può essere utile se combinata 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 directory 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.

Cmdlets

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. In alternativa, 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 il provider, utilizza il cmdlet Remove-Item standard. In alternativa, utilizza il cmdlet Remove-GcsObject.

Cmdlets

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