Mencadangkan data ke Cloud Storage

Halaman ini menunjukkan cara mencadangkan data dari komputer lokal ke Cloud Storage menggunakan Cloud Tools for PowerShell. Tidak seperti kebanyakan resource, Cloud Tools for PowerShell menyediakan dua cara untuk mengakses resource Cloud Storage, yaitu cmdlet dan penyedia PowerShell.

Penyedia memungkinkan Anda mengakses bucket dan objek Storage seperti sistem file, menggunakan perintah sistem file yang sudah biasa Anda gunakan. Namun, penyedia memiliki beberapa batasan. Tidak semua nama objek hukum dikonversi menjadi jalur penyedia hukum. Anda tidak dapat menggunakan penyedia untuk mengelola ACL. Untuk kasus lanjutan ini, Anda dapat menggunakan cmdlet. Lihat referensi cmdlet Cloud Tools for PowerShell untuk mempelajari cmdlet Cloud Storage lebih lanjut.

Mengupload data

Data di Cloud Storage diatur ke dalam bucket. Buat bucket baru sebagai berikut:

Cmdlet

Gunakan cmdlet New-GcsBucket untuk membuat bucket baru:

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

Penyedia

Bucket adalah folder di root drive gs:\. Membuat item baru pada level tersebut akan membuat bucket baru.

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

Mengupload file ke bucket

Anda dapat mengupload satu file atau seluruh direktori ke bucket:

Cmdlet

Menggunakan New-GcsObject. Tindakan ini memerlukan bucket tujuan dan nama objek sebagai parameter. Tempat asal konten objek Storage baru bergantung pada kumpulan parameter yang Anda gunakan.

Anda dapat mengupload konten file lokal ke Cloud Storage menggunakan parameter -File dan menentukan jalur file. Atau, Anda dapat meneruskan konten objek sebagai string melalui pipeline PowerShell, atau menggunakan parameter -Value.

Anda dapat mengupload seluruh direktori dari disk lokal ke Cloud Storage menggunakan parameter -Folder dan menentukan jalur folder. Jika Anda tidak ingin folder diupload langsung ke root bucket Cloud Storage, gunakan -ObjectNamePrefix untuk menentukan awalan yang akan diterapkan ke setiap objek yang diupload.

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

Penyedia

Menggunakan New-Item. Diperlukan jalur ke item yang dibuat. Jalur ini dapat berupa jalur absolut atau jalur relatif. Konten Objek Storage baru dapat ditentukan sebagai string ke parameter -Value atau dengan menentukan jalur file ke parameter -File.

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

Cuplikan berikut mengupload seluruh direktori dari disk lokal ke 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
}

Menelusuri data

Anda dapat menelusuri data dengan cmdlet, atau dengan penyedia melalui cmdlet penelusuran file umum.

Cmdlet

Anda dapat menelusuri objek bucket menggunakan Get-GcsObject. Hal ini dapat berguna jika digabungkan dengan cmdlet Out-GridView untuk memvisualisasikan data Anda:

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

Penyedia

Anda dapat menggunakan Get-ChildItem atau salah satu aliasnya: dir, ls, atau gci. Anda dapat menggunakan parameter -Recurse untuk melihat dalam semua folder logis:

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

Membaca data

Untuk membaca data melalui penyedia, gunakan cmdlet Get-Content standar. Atau, gunakan cmdlet Read-GcsObject.

Cmdlet

Untuk membaca konten objek Cloud Storage, gunakan cmdlet Read-GcsObject. Secara default, skrip membaca konten objek sebagai string dan menulisnya ke pipeline PowerShell. Anda dapat menentukan parameter -OutFile untuk mendownload konten objek ke disk lokal:

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

Penyedia

Untuk membaca konten objek Cloud Storage, gunakan cmdlet Get-Content, atau salah satu alias: cat, gc, atau type.

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

Menghapus data

Untuk menghapus data melalui penyedia, gunakan cmdlet Remove-Item standar. Atau, gunakan cmdlet Remove-GcsObject.

Cmdlet

Untuk menghapus data di Cloud Storage, gunakan cmdlet Remove-GcsObject:

Get-GcsObject $bucket | Remove-GcsObject

Penyedia

Untuk menghapus data di Cloud Storage, gunakan cmdlet Remove-Item, atau salah satu aliasnya del, rm, erase:

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