Crear copias de seguridad de datos en Cloud Storage

En esta página se muestra cómo crear una copia de seguridad de los datos de una máquina local en Cloud Storage mediante Cloud Tools for PowerShell. A diferencia de la mayoría de los recursos, Cloud Tools for PowerShell ofrece dos formas de acceder a los recursos de Cloud Storage: los cmdlets y un proveedor de PowerShell.

El proveedor te permite acceder a segmentos y objetos de Storage como si se tratara de un sistema de archivos, mediante los comandos del sistema de archivos que ya conoces. Sin embargo, el proveedor tiene algunas limitaciones. No todos los nombres de objetos legales se convierten en rutas de proveedores legales. No puedes usar el proveedor para gestionar las listas de control de acceso. En estos casos avanzados, puedes usar los cmdlets. Consulta la referencia de cmdlets de Cloud Tools para PowerShell para obtener más información sobre los cmdlets de Cloud Storage.

Subida de datos

Los datos de Cloud Storage se organizan en segmentos. Crea un segmento de la siguiente manera:

Cmdlets

Usa el cmdlet New-GcsBucket para crear un segmento:

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

Proveedor

Los segmentos son carpetas que se encuentran en la raíz de la unidad de gs:\. Si creas un elemento en ese nivel, se creará un nuevo segmento.

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

Subir archivos a un segmento

Puede subir un solo archivo o un directorio completo a su contenedor:

Cmdlets

Usa el valor New-GcsObject. Para ello, se necesitan un segmento de destino y un nombre de objeto como parámetros. El origen del contenido del nuevo objeto Storage depende del conjunto de parámetros que utilices.

Para subir el contenido de un archivo local a Cloud Storage, puedes usar el parámetro -File y especificar una ruta de archivo. También puede transferir el contenido del objeto como una cadena a través de la canalización de PowerShell o usar el parámetro -Value.

Puedes subir un directorio completo del disco local a Cloud Storage usando el parámetro -Folder y especificando la ruta de la carpeta. Si no quieres que la carpeta se suba directamente a la raíz del segmento de Cloud Storage, usa -ObjectNamePrefix para especificar un prefijo que se aplicará a todos los objetos subidos.

# 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"

Proveedor

Usa el valor New-Item. Requiere una ruta al elemento que se va a crear. Puede ser una ruta absoluta o una ruta relativa. El contenido del nuevo objeto de almacenamiento se puede especificar como una cadena en el parámetro -Value o especificando una ruta de archivo en el parámetro -File.

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

El siguiente fragmento sube un directorio completo del disco local 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
}

Buscar datos

Puedes buscar datos con cmdlets o con el proveedor a través de los cmdlets de búsqueda de archivos comunes.

Cmdlets

Puedes buscar objetos en un contenedor con Get-GcsObject. Esto puede ser útil si se combina con el cmdlet Out-GridView para visualizar los datos:

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

Proveedor

Puedes usar Get-ChildItem o uno de sus alias: dir, ls o gci. Puedes usar el parámetro -Recurse para buscar en todas las carpetas lógicas:

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

Leer datos

Para leer datos a través del proveedor, use el cmdlet Get-Content estándar. También puedes usar el cmdlet Read-GcsObject.

Cmdlets

Para leer el contenido de un objeto de Cloud Storage, usa el cmdlet Read-GcsObject. De forma predeterminada, lee el contenido del objeto como una cadena y lo escribe en la canalización de PowerShell. Puede especificar el parámetro -OutFile para descargar el contenido del objeto en el disco local:

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

Proveedor

Para leer el contenido de un objeto de Cloud Storage, usa el cmdlet Get-Content o uno de sus alias: cat, gc o type.

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

Eliminar datos

Para eliminar datos a través del proveedor, usa el cmdlet Remove-Item estándar. También puedes usar el cmdlet Remove-GcsObject.

Cmdlets

Para eliminar datos de Cloud Storage, usa el cmdlet Remove-GcsObject:

Get-GcsObject $bucket | Remove-GcsObject

Proveedor

Para eliminar datos en Cloud Storage, usa el cmdlet Remove-Item o uno de sus alias: del, rm o erase.

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