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

Provider

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 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 du dossier. Si vous ne souhaitez pas que le dossier soit importé directement à la racine du bucket Cloud Storage, utilisez le paramètre -ObjectNamePrefix pour spécifier un préfixe qui sera appliqué à 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"

Provider

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é sous forme de chaîne dans le paramètre -Value ou sous forme de chemin d'accès au fichier dans 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 du cmdlet Get-GcsObject. Il peut être utilisé conjointement au cmdlet Out-GridView pour visualiser les données :

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

Provider

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

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"

Provider

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

Provider

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

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