Fazer uma cópia de segurança de dados para o Cloud Storage

Esta página mostra como fazer uma cópia de segurança dos dados de uma máquina local para o Cloud Storage através das Cloud Tools for PowerShell. Ao contrário da maioria dos recursos, as Cloud Tools for PowerShell oferecem duas formas de aceder aos recursos do Cloud Storage: os cmdlets e um fornecedor do PowerShell.

O fornecedor permite-lhe aceder a contentores e objetos de armazenamento como um sistema de ficheiros, através dos comandos do sistema de ficheiros que já conhece. No entanto, o fornecedor tem algumas limitações. Nem todos os nomes de objetos legais são convertidos em caminhos de fornecedores legais. Não pode usar o fornecedor para gerir ACLs. Para estes casos avançados, pode usar os cmdlets. Consulte a referência de cmdlet do Cloud Tools for PowerShell para saber mais sobre os cmdlets do Cloud Storage.

A carregar dados

Os dados no Cloud Storage estão organizados em contentores. Crie um novo contentor da seguinte forma:

Cmdlets

Use o cmdlet New-GcsBucket para criar um novo contentor:

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

Fornecedor

Os contentores são pastas na raiz do gs:\ drive. A criação de um novo item nesse nível cria um novo conjunto.

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

Carregue ficheiros para um contentor

Pode carregar um único ficheiro ou um diretório completo para o seu contentor:

Cmdlets

Use New-GcsObject. Isto requer um contentor de destino e um nome de objeto como parâmetros. A origem do conteúdo do novo objeto de armazenamento depende do conjunto de parâmetros que usar.

Pode carregar o conteúdo de um ficheiro local para o Cloud Storage usando o parâmetro -File e especificando um caminho do ficheiro. Em alternativa, pode transmitir o conteúdo do objeto como uma string através do pipeline do PowerShell ou usar o parâmetro -Value.

Pode carregar um diretório completo do disco local para o Cloud Storage através do parâmetro -Folder e especificando o caminho da pasta. Se não quiser que a pasta seja carregada diretamente para a raiz do contentor do Cloud Storage, use -ObjectNamePrefix para especificar um prefixo que será aplicado a todos os objetos carregados.

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

Fornecedor

Use New-Item. Requer um caminho para o item que está a ser criado. Pode ser um caminho absoluto ou um caminho relativo. O conteúdo do novo objeto de armazenamento pode ser especificado como uma string para o parâmetro -Value ou especificando um caminho de ficheiro para o parâmetro -File.

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

O fragmento seguinte carrega um diretório completo do disco local para o 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
}

Pesquisar dados

Pode pesquisar dados com cmdlets ou com o fornecedor através dos cmdlets de pesquisa de ficheiros comuns.

Cmdlets

Pode pesquisar os objetos de um contentor através de Get-GcsObject. Isto pode ser útil quando combinado com o cmdlet Out-GridView para visualizar os seus dados:

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

Fornecedor

Pode usar Get-ChildItem ou um dos respetivos alias: dir, ls ou gci. Pode usar o parâmetro -Recurse para procurar em todas as pastas lógicas:

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

Dados de leitura

Para ler dados através do fornecedor, use o cmdlet Get-Content padrão. Em alternativa, use o cmdlet Read-GcsObject.

Cmdlets

Para ler o conteúdo de um objeto do Cloud Storage, use o cmdlet Read-GcsObject. Por predefinição, lê o conteúdo do objeto como uma string e escreve-o no pipeline do PowerShell. Em alternativa, pode especificar o parâmetro -OutFile para transferir o conteúdo do objeto para o disco local:

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

Fornecedor

Para ler o conteúdo de um objeto do Cloud Storage, use o cmdlet Get-Content ou um dos respetivos alias: cat, gc ou type.

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

Eliminar dados

Para eliminar dados através do fornecedor, use o cmdlet Remove-Item padrão. Em alternativa, use o cmdlet Remove-GcsObject.

Cmdlets

Para remover dados no Cloud Storage, use o cmdlet:Remove-GcsObject

Get-GcsObject $bucket | Remove-GcsObject

Fornecedor

Para remover dados no Cloud Storage, use o cmdlet Remove-Item ou um dos respetivos alias del, rm, erase:

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