Sauvegarder des données dans Google Cloud Storage

Cette page montre comment sauvegarder des données résidant sur un ordinateur local dans Cloud Storage à l'aide de Cloud Tools for PowerShell. Contrairement à la plupart des ressources, Cloud Tools for PowerShell propose deux méthodes pour accéder aux ressources Cloud Storage : les cmdlets et le fournisseur PowerShell.

Le fournisseur vous permet d’accéder aux buckets Cloud Storage ainsi qu'à des objets, tels qu’un système de fichiers, à l’aide des commandes de système de fichiers que vous connaissez déjà. Le fournisseur a cependant certaines limites. Tous les noms d'objet légaux ne sont pas convertis en chemins autorisés par le fournisseur. Vous ne pouvez pas utiliser le fournisseur pour gérer les LCA. Pour ces cas avancés, vous pouvez utiliser les cmdlets. Consultez la documentation de référence des cmdlets Cloud Tools for PowerShell pour en savoir plus sur les cmdlets Cloud Storage.

Transférer des données

Les données stockées dans Cloud Storage sont organisées en buckets. Procédez comme suit pour créer un bucket :

Cmdlets

Utilisez le cmdlet New-GcsBucket pour créer un bucket :

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

Fournisseur

Les buckets sont des dossiers créés à la racine du lecteur gs:\. Tout élément créé à ce niveau sera un bucket.

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

Importer des fichiers dans un bucket

Vous pouvez importer un seul fichier ou un répertoire entier dans un bucket :

Cmdlets

Utilisez le cmdlet New-GcsObject. Vous devez spécifier comme paramètres un bucket de destination et un nom d'objet. L'origine du contenu du nouvel objet Storage dépend de l'ensemble de paramètres que vous utilisez.

Vous pouvez importer le contenu d'un fichier local dans Cloud Storage en utilisant le paramètre -File et en spécifiant un chemin d'accès au fichier. Vous pouvez également transmettre le contenu de l'objet sous forme de chaîne via le pipeline PowerShell ou utiliser le paramètre -Value.

Vous pouvez importer un répertoire entier du disque local dans Cloud Storage en utilisant le paramètre -Folder et en spécifiant le chemin d'accès au dossier. Si vous ne souhaitez pas que le dossier soit importé directement à la racine du bucket Cloud Storage, utilisez -ObjectNamePrefix pour spécifier le préfixe à appliquer à chaque objet importé.

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

Fournisseur

Utilisez New-Item. Vous devez préciser le chemin d'accès à l'élément en cours de création. Il peut s'agir d'un chemin absolu ou d'un chemin relatif. Le contenu du nouvel objet Cloud Storage peut être spécifié en tant que chaîne avec le paramètre -Value ou en tant que chemin du fichier avec le paramètre -File.

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

L'extrait de code suivant importe un répertoire entier du disque local dans 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
}

Rechercher des données

Vous pouvez rechercher des données à l'aide des cmdlets ou avec le fournisseur via les cmdlets de recherche de fichier courants.

Cmdlets

Vous pouvez effectuer une recherche dans les objets d'un bucket à l'aide de Get-GcsObject. Cela peut être utile en combinaison avec le cmdlet Out-GridView pour visualiser vos données :

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

Fournisseur

Vous pouvez utiliser Get-ChildItem ou l'un de ses alias : dir , ls ou gci. Vous pouvez utiliser le paramètre -Recurse pour effectuer la recherche dans tous les dossiers logiques :

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

Lire des données

Pour lire des données via le fournisseur, utilisez le cmdlet standard Get-Content. Vous pouvez également utiliser le cmdlet Read-GcsObject.

Cmdlets

Pour lire le contenu d'un objet Cloud Storage, utilisez le cmdlet Read-GcsObject. Par défaut, il lit le contenu de l'objet sous forme de chaîne et l'écrit dans le pipeline PowerShell. Vous pouvez spécifier le paramètre -OutFile pour télécharger le contenu de l'objet sur le disque local :

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

Fournisseur

Pour lire le contenu d'un objet Cloud Storage, utilisez le cmdlet Get-Content ou l'un de ses alias : cat , gc ou type.

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

Supprimer des données

Pour supprimer des données via le fournisseur, utilisez le cmdlet standard Remove-Item. Vous pouvez également utiliser le cmdlet Remove-GcsObject.

Cmdlets

Pour supprimer des données dans Cloud Storage, utilisez le cmdlet Remove-GcsObject :

Get-GcsObject $bucket | Remove-GcsObject

Fournisseur

Pour supprimer des données dans Cloud Storage, utilisez le cmdlet Remove-Item ou l'un de ses alias del, rm, erase :

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