1. Présentation
PowerShell est un shell de ligne de commande et le langage de script associé, basé sur .NET Framework. C'est l'outil par défaut d'automatisation et de gestion de la configuration des tâches utilisé dans le monde Windows. Un cmdlet PowerShell est une commande légère appelée dans PowerShell.
Cloud Tools for PowerShell est une collection de cmdlets permettant d'accéder aux ressources Google Cloud et de les manipuler, telles que Google Compute Engine, Google Cloud Storage, Google Cloud SQL et Google Cloud DNS, et d'autres sont à venir.
Suivez cet atelier pour apprendre à interagir avec les ressources Google Cloud à partir de PowerShell.
Points abordés
- Installer Cloud Tools for PowerShell
- S'authentifier auprès du SDK Google Cloud
- Découvrez comment créer et gérer Google Compute Engine à partir de PowerShell.
- Sauvegarder des données vers Google Cloud Storage à partir de PowerShell
Prérequis
Comment allez-vous utiliser ce tutoriel ?
Quel est votre niveau d'expérience avec Google Cloud Platform ?
<ph type="x-smartling-placeholder">2. Préparation
Pour cet atelier de programmation, vous avez besoin d'un projet Google Cloud pour interagir avec PowerShell. Si vous avez déjà un projet, vous pouvez l'utiliser ou en créer un en suivant les étapes ci-dessous.
Configuration de l'environnement au rythme de chacun
Si vous ne possédez pas encore de compte Google (Gmail ou G Suite), vous devez en créer un. Connectez-vous à la console Google Cloud ( console.cloud.google.com) et créez un projet:
Mémorisez l'ID du projet, qui est un nom unique parmi tous les projets Google Cloud Platform. Il sera désigné par le nom PROJECT_ID
tout au long de cet atelier de programmation.
Ensuite, vous devez activer la facturation dans la console Google Cloud afin de pouvoir utiliser les ressources Google Cloud Platform telles que Google Cloud Datastore et Cloud Storage.
Les nouveaux utilisateurs de Google Cloud Platform peuvent bénéficier d'un essai sans frais de 300$. L'exécution de cet atelier de programmation ne devrait pas vous coûter plus que quelques dollars, mais ce montant peut être plus élevé si vous décidez d'utiliser plus de ressources ou de continuer à les exécuter (consultez la section "Nettoyage" à la fin de ce document).
3. Installation
Installation de l'environnement d'auto-formation
Les cmdlets PowerShell sont inclus dans le SDK Cloud pour Windows. Si vous ne l'avez pas déjà fait, téléchargez et installez le SDK Google Cloud pour Windows, comme décrit dans le guide de démarrage rapide pour Windows. Assurez-vous d'avoir coché l'option PowerShell lors de l'installation du SDK Cloud.
4. Authentification
Cloud Tools for PowerShell utilise les identifiants et les paramètres stockés dans Cloud SDK. Pour commencer à utiliser les cmdlets, vous devez d'abord vous connecter à l'aide de Cloud SDK.
Authentification de l'environnement d'auto-formation
Démarrez l'interface système du SDK Google Cloud et exécutez la commande suivante.
gcloud init
Acceptez l'option de connexion avec votre compte utilisateur Google.
To continue, you must log in. Would you like to log in (Y/n)? Y
Dans votre navigateur, connectez-vous à votre compte utilisateur Google lorsque vous y êtes invité, puis cliquez sur Autoriser pour autoriser l'accès aux ressources Google Cloud Platform.
Dans l'invite de commande, sélectionnez un projet Cloud Platform dans la liste des projets pour lesquels vous disposez des autorisations de propriétaire, d'éditeur ou de lecteur.
Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:
5. Exécuter des cmdlets Google Cloud dans PowerShell
Une fois authentifié, vous êtes prêt à utiliser les cmdlets Google Cloud dans PowerShell. Recherchez et ouvrez l'interface système de ligne de commande PowerShell.
Pour vous assurer que les cmdlets Google Cloud sont correctement installés, exécutez le cmdlet Get-GceInstance
. La liste des instances Compute Engine de votre projet devrait s'afficher.
6. Créer et gérer des instances Google Compute Engine
Dans cette section, vous allez créer et gérer Google Compute Engine à partir de Google Cloud Tools for PowerShell.
Créer une configuration d'instance
Avant de créer une instance, vous devez d'abord créer une configuration d'instance. Vous devez au moins indiquer un nom, un type de machine et une image de disque de démarrage ou un disque de démarrage préexistant. Utilisez Get-GceImage
pour créer une image disque et New-GceInstanceConfig
pour créer une configuration.
$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
-MachineType "n1-standard-4" `
-DiskImage $disk
À ce stade, vous disposez d'une configuration que vous pouvez utiliser pour créer une instance.
Créer une instance
Utilisez le cmdlet Add-GceInstance
pour créer une instance Compute Engine. Vous pouvez spécifier un projet et une zone. Toutefois, si vous les omettez, les valeurs de paramètre par défaut sont celles de votre configuration active du SDK Cloud. Si vous spécifiez un projet, veillez à remplacer PROJECT_ID
par l'ID de votre propre projet.
$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b
Gérer une instance
Vous pouvez utiliser le cmdlet Get-GceInstance
pour récupérer les instances de machine virtuelle d'un projet. Étant donné que le nom de l'instance peut varier selon les projets ou les zones, vous pouvez spécifier un paramètre "Project" (Projet) ou "Zone" pour affiner la recherche. Par défaut, le cmdlet utilise les valeurs présentes dans la configuration active du SDK Cloud.
$instance = Get-GceInstance "my-vm-1"
Vous pouvez définir des tags d'instance, des disques, des configurations d'accès et d'autres métadonnées après avoir créé votre instance avec le cmdlet Set-GceInstance
. Ajoutez des métadonnées, puis supprimez-les comme suit.
Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"
Ajoutez maintenant un tag que vous utiliserez plus tard pour supprimer l'instance.
Set-GceInstance $instance -AddTag "to-be-removed"
Vous pouvez démarrer, arrêter ou redémarrer une instance à l'aide de différents cmdlets. Vous pouvez faire référence à une instance en utilisant le nom ou l'objet fortement typé renvoyé par le cmdlet Get-GceInstance
. Jouez avec certaines de ces commandes.
Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"
Enfin, lorsque vous avez terminé avec l'instance, supprimez-la de Compute Engine à l'aide du cmdlet Remove-GceInstance
et en fournissant le tag que vous avez spécifié précédemment.
Get-GceInstance -Project $project |
Where { $_.Tags.Items -contains "to-be-removed" } |
Remove-GceInstance -WhatIf
7. Sauvegarder des données dans Google Cloud Storage
Dans cette partie de l'atelier de programmation, vous allez sauvegarder les données de votre ordinateur local dans Google Cloud Storage à l'aide de Cloud Tools for PowerShell.
Créer un bucket
Avant d'importer des fichiers dans Cloud Storage, vous devez créer un bucket. Utilisez le cmdlet New-GcsBucket
pour créer un bucket.
$bucket = "my-gcs-bucket"
New-GcsBucket $bucket
Importer des fichiers dans le bucket
Vous pouvez utiliser New-GcsObject
pour importer des fichiers ou des dossiers entiers dans le bucket.
Vous pouvez importer le contenu d'un fichier local dans Cloud Storage à l'aide du 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
.
Choisissez un fichier local sur votre ordinateur et importez-le dans votre bucket comme suit.
New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"
Vous pouvez importer un répertoire entier du disque local dans Cloud Storage en utilisant le paramètre -UploadFolder
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 un préfixe qui sera appliqué à chaque objet importé.
Choisissez un dossier local sur votre ordinateur et importez-le dans votre bucket comme suit.
New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"
Données de recherche
Vous pouvez rechercher des données avec des cmdlets, ou avec le fournisseur via les cmdlets de recherche de fichiers courants. Exécutez la commande suivante avec votre bucket.
Get-GcsObject $bucket | Select Name, Size | Out-GridView
Vous devriez voir une fenêtre pop-up de grille avec le nom et la taille.
Lire des données
Vous pouvez utiliser le cmdlet Read-GcsObject
pour lire des données. Par exemple, vous pouvez utiliser la commande suivante pour lire un fichier nommé hello.txt
sur votre bureau.
Read-GcsObject $bucket "hello.txt" `
-OutFile "$Env:UserProfile\Desktop\hello.txt"
Supprimer des données
Enfin et surtout, vous pouvez supprimer des données à l'aide du cmdlet Remove-GcsObject
. Exécutez la commande suivante pour supprimer tout le contenu du bucket.
Get-GcsObject $bucket | Remove-GcsObject
8. Félicitations !
Dans cet atelier de programmation, vous avez appris à gérer des instances Compute Engine et des buckets Cloud Storage à partir de PowerShell, mais ce n'est pas tout ! Vous pouvez également gérer des ressources Cloud SQL et Cloud CDN à l'aide de PowerShell. Pour en savoir plus, consultez la liste des étapes suivantes ci-dessous.
Points abordés
- Installer Cloud Tools for PowerShell
- S'authentifier auprès du SDK Google Cloud
- Découvrez comment créer et gérer Google Compute Engine à partir de PowerShell.
- Sauvegarder des données vers Google Cloud Storage à partir de PowerShell
Étapes suivantes
- Obtenez plus d'informations sur Cloud Tools pour PowerShell.
- Obtenez plus d'informations sur Windows sur Google Cloud Platform.
- Obtenez plus d'informations sur .NET sur Google Cloud Platform.
- Obtenez plus d'informations sur SQL Server sur Google Cloud Platform.
- Obtenez plus d'informations sur Cloud Tools pour Visual Studio.