diff --git a/articles/active-directory/active-directory-passwords-getting-started.md b/articles/active-directory/active-directory-passwords-getting-started.md index 5b39939922a..3768ac62d51 100644 --- a/articles/active-directory/active-directory-passwords-getting-started.md +++ b/articles/active-directory/active-directory-passwords-getting-started.md @@ -16,8 +16,8 @@ ms.topic: get-started-article ms.date: 10/05/2016 ms.author: asteen translationtype: Human Translation -ms.sourcegitcommit: dcda8b30adde930ab373a087d6955b900365c4cc -ms.openlocfilehash: 93e02bc36c0502623316d6b896dd802ac8bdc284 +ms.sourcegitcommit: 48821a3b2b7da4646c4569cc540d867f02a4a32f +ms.openlocfilehash: 6dc23714a4a052c7bf0bb5162fe1568ec272b5e3 --- @@ -71,7 +71,7 @@ Pour configurer la stratégie de réinitialisation du mot de passe utilisateur, 1. Ouvrez le navigateur de votre choix et accédez au [Portail Azure Classic](https://manage.windowsazure.com). 2. Dans la barre de navigation à gauche du [portail Azure Classic](https://manage.windowsazure.com), recherchez l’**extension Active Directory**. - ![Gestion des mots de passe dans Azure AD][001] + ![Gestion des mots de passe dans Azure AD][001] 3. Sous l’onglet **Annuaire** , cliquez sur l’annuaire dans lequel vous souhaitez configurer la stratégie de réinitialisation du mot de passe utilisateur, par exemple, Wingtip Toys. ![][002] @@ -256,12 +256,40 @@ Vous pouvez également vérifier que le service a été correctement installé e ![][023] ### Étape 3 : configuration de votre pare-feu -Une fois que vous avez activé l’écriture différée de mot de passe dans l’outil Azure AD Connect, vous devez vérifier que le service peut se connecter au cloud. +Une fois que vous avez activé l’écriture différée du mot de passe, vous devez vous assurer que la machine exécutant Azure AD Connect peut atteindre les services de cloud computing Microsoft pour recevoir les demandes d’écriture différée du mot de passe. Cette étape implique la mise à jour des règles de connexion dans vos appliances réseau (serveurs proxy, pare-feu, etc.) pour autoriser les connexions sortantes à certaines URL appartenant à Microsoft et adresses IP sur des ports réseau spécifiques. Ces modifications peuvent varier selon la version de l’outil Azure AD Connect. Pour approfondir le contexte, vous pouvez lire les articles décrivant le [fonctionnement de l’écriture différée du mot de passe](active-directory-passwords-learn-more.md#how-password-writeback-works) et le [modèle de sécurité de l’écriture différée du mot de passe](active-directory-passwords-learn-more.md#password-writeback-security-model). -1. Une fois l’installation terminée, si vous bloquez les connexions sortantes inconnues dans votre environnement, vous devez également ajouter les règles suivantes à votre pare-feu. Assurez-vous de bien redémarrer votre ordinateur AAD Connect après avoir apporté ces modifications : - * Autorisez les connexions sortantes sur le port TCP 443. - * Autorisez les connexions sortantes sur https://ssprsbprodncu-sb.accesscontrol.windows.net/. - * Quand vous utilisez un proxy ou que vous rencontrez des problèmes de connectivités d’ordre général, autorisez les connexions sortantes sur les ports TCP 9350-9354 et sur le port TCP 5671. +#### De quels éléments dois-je disposer pour effectuer cette opération ? + +Pour que l’écriture différée du mot de passe fonctionne correctement, la machine exécutant Azure AD Connect doit être en mesure d’établir des connexions HTTPS sortantes à **.servicebus.windows.net* et à une adresse IP spécifique utilisée par Azure, tel que défini dans la [liste des plages d’adresses IP du centre de données Microsoft Azure](https://www.microsoft.com/download/details.aspx?id=41653). + +Pour la version 1.0.8667.0 et les versions ultérieures de l’outil Azure AD Connect : + +- **Option 1 :** autorisez toutes les connexions HTTPS sortantes sur le port 443 (utilisant l’URL ou l’adresse IP). + - Quand utiliser cette option : + - Utilisez cette option si vous souhaitez mettre en œuvre la configuration la plus simple qui ne nécessite aucune mise à jour en cas de modification des plages d’adresses IP du centre de données Azure au fil du temps. + - Étapes requises : + - Autorisez toutes les connexions HTTPS sortantes sur le port 443 utilisant l’URL ou l’adresse IP. +

+- **Option 2 :** autorisez les connexions HTTPS sortantes à des plages d’adresses IP et URL spécifiques. + - Quand utiliser cette option : + - Utilisez cette option si vous travaillez dans un environnement réseau restreint ou que vous ne maîtrisez pas le processus d’autorisation des connexions sortantes. + - Pour que l’écriture différée du mot de passe continue de fonctionner dans cette configuration, vous devrez vous assurer que vos appliances réseau sont mises à jour chaque semaine avec les dernières adresses IP de la liste des plages d’adresses IP du centre de données Microsoft Azure. Ces plages d’adresses IP sont disponibles sous la forme d’un fichier XML qui est mis à jour tous les mercredis (heure du Pacifique) et mis en œuvre le lundi suivant (heure du Pacifique). + - Étapes requises : + - Autorisez toutes les connexions HTTPS sortantes à *.servicebus.windows.net + - Autorisez toutes les connexions HTTPS sortantes à toutes les adresses IP figurant dans la liste des plages d’adresses IP du centre de données Microsoft Azure et maintenez cette configuration à jour chaque semaine. + +> [!NOTE] +> Si vous avez configuré l’écriture différée du mot de passe en suivant les instructions ci-dessus et que le journal des événements Azure AD Connect ne signale aucune erreur, mais que vous obtenez des erreurs de connectivité lors des tests, il est possible qu’une appliance réseau de votre environnement bloque les connexions HTTPS à des adresses IP. Par exemple, alors qu’une connexion à *https://*.servicebus.windows.net* est autorisée, une connexion à une adresse IP spécifique de cette plage peut être bloquée. Pour résoudre ce problème, vous devez soit configurer votre environnement réseau de façon à autoriser toutes les connexions HTTPS sortantes sur le port 443 à n’importe quelle URL ou adresse IP (Option 1 ci-dessus), soit travailler avec votre équipe de mise en réseau pour autoriser explicitement les connexions HTTPS à des adresses IP spécifiques (Option 2 ci-dessus). + +**Pour les versions antérieures :** + +- Autorisez les connexions TCP sortantes sur les ports 443, 9350-9354 et 5671 +- Autorisez les connexions sortantes à *https://ssprsbprodncu-sb.accesscontrol.windows.net/* + +> [!NOTE] +> Si vous utilisez une version d’Azure AD Connect antérieure à la version 1.0.8667.0, Microsoft vous recommande vivement de procéder à une mise à niveau vers la [dernière version d’Azure AD Connect](https://www.microsoft.com/download/details.aspx?id=47594), qui intègre diverses améliorations en matière de mise en réseau de l’écriture différée afin de faciliter la configuration. + +Une fois que les appliances réseau ont été configurées, redémarrez la machine exécutant l’outil Azure AD Connect. ### Étape 4 : définition des autorisations Active Directory adéquates Pour chaque forêt contenant des utilisateurs dont les mots de passe doivent être réinitialisés, si X correspond au compte spécifié pour cette forêt dans l’Assistant Configuration (durant l’installation d’origine), X doit avoir les droits étendus **Réinitialiser le mot de passe**, **Modifier le mot de passe** et **Autorisations en écriture** sur `lockoutTime`, et les droits **Autorisations en écriture** sur `pwdLastSet` sur l’objet racine de chaque domaine dans cette forêt. Le droit doit être marqué comme hérité par tous les objets utilisateur. diff --git a/articles/application-gateway/application-gateway-create-gateway-arm.md b/articles/application-gateway/application-gateway-create-gateway-arm.md index 73b7bf812bf..21b45cfd60d 100644 --- a/articles/application-gateway/application-gateway-create-gateway-arm.md +++ b/articles/application-gateway/application-gateway-create-gateway-arm.md @@ -4,7 +4,7 @@ description: "Cette page fournit des instructions pour la création, la configur documentationcenter: na services: application-gateway author: georgewallace -manager: carmonm +manager: timlt editor: tysonn ms.assetid: 866e9b5f-0222-4b6a-a95f-77bc3d31d17b ms.service: application-gateway @@ -12,23 +12,22 @@ ms.devlang: na ms.topic: hero-article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 11/10/2016 +ms.date: 12/12/2016 ms.author: gwallace translationtype: Human Translation -ms.sourcegitcommit: 3a8e5583f213c6d35f8e41dd31fe2ccad7389977 -ms.openlocfilehash: 3185e396380e9a550dbc94517e50e9223ff518f6 +ms.sourcegitcommit: cb2b7bc626294e12c6e19647c1e787e1f671595b +ms.openlocfilehash: 5da4b087131b0adef49f7019297db834d7bb9416 --- # Créer, démarrer ou supprimer une passerelle Application Gateway à l’aide d’Azure Resource Manager + > [!div class="op_single_selector"] -> * [Portail Azure](application-gateway-create-gateway-portal.md) +> * [portail Azure](application-gateway-create-gateway-portal.md) > * [Commandes PowerShell pour Azure Resource Manager](application-gateway-create-gateway-arm.md) > * [Azure Classic PowerShell](application-gateway-create-gateway.md) > * [Modèle Azure Resource Manager](application-gateway-create-gateway-arm-template.md) > * [Interface de ligne de commande Azure](application-gateway-create-gateway-cli.md) -> -> La passerelle Azure Application Gateway est un équilibreur de charge de couche 7. Elle assure l’exécution des requêtes HTTP de basculement et de routage des performances entre serveurs locaux ou dans le cloud. Application Gateway offre de nombreuses fonctionnalités de contrôleur de livraison d’applications (ADC) : équilibrage de charge HTTP, affinité de session basée sur les cookies, déchargement SSL (Secure Sockets Layer), sondes d’intégrité personnalisées, prise en charge de plusieurs sites, etc. Pour obtenir une liste complète des fonctionnalités prises en charge, consultez [Vue d’ensemble d’Application Gateway](application-gateway-introduction.md) @@ -36,15 +35,15 @@ Cet article vous guide lors des étapes de création, de configuration, de déma > [!IMPORTANT] > Avant d’utiliser des ressources Azure, il est important de comprendre qu’Azure dispose actuellement de deux modèles de déploiement : Resource Manager et classique. Attention à bien comprendre les [modèles et outils de déploiement](../azure-classic-rm.md) avant d’utiliser une ressource Azure. Pour consulter la documentation relative aux différents outils, cliquez sur les onglets situés en haut de cet article. Ce document traite de la création d’une passerelle Application Gateway à l’aide d’Azure Resource Manager. Pour utiliser la version classique, accédez à [Création d’un déploiement classique de passerelle Application Gateway à l’aide de PowerShell](application-gateway-create-gateway.md). -> -> ## Avant de commencer + 1. Installez la dernière version des applets de commande Azure PowerShell à l’aide de Web Platform Installer. Vous pouvez télécharger et installer la dernière version à partir de la section **Windows PowerShell** de la [page Téléchargements](https://azure.microsoft.com/downloads/). 2. Si vous disposez d’un réseau virtuel, sélectionnez un sous-réseau vide existant ou créez un sous-réseau de votre réseau virtuel existant uniquement pour une utilisation par la passerelle Application Gateway. Vous ne pouvez pas déployer la passerelle d’application sur un autre réseau virtuel constitué par les ressources que vous avez l’intention de déployer derrière la passerelle d’application. 3. Les serveurs que vous configurez pour utiliser la passerelle Application Gateway doivent exister ou vous devez créer leurs points de terminaison sur le réseau virtuel ou avec une adresse IP/VIP publique affectée. ## Quels sont les éléments nécessaires pour créer une passerelle Application Gateway ? + * **Pool de serveurs principaux :** liste des adresses IP des serveurs principaux. Les adresses IP répertoriées doivent appartenir au sous-réseau de réseau virtuel ou doivent correspondre à une adresse IP/VIP publique. * **Paramètres du pool de serveurs principaux :** chaque pool comporte des paramètres tels que le port, le protocole et une affinité basée sur des cookies. Ces paramètres sont liés à un pool et sont appliqués à tous les serveurs du pool. * **Port frontal :** il s’agit du port public ouvert sur la passerelle Application Gateway. Le trafic atteint ce port, puis il est redirigé vers l’un des serveurs principaux. @@ -52,6 +51,7 @@ Cet article vous guide lors des étapes de création, de configuration, de déma * **Règle :** la règle lie l’écouteur et le pool de serveurs principaux, et définit vers quel pool de serveurs principaux le trafic doit être dirigé quand il atteint un écouteur spécifique. ## Créer une passerelle Application Gateway + La différence entre l’utilisation d’Azure Classic et celle d’Azure Resource Manager réside dans l’ordre de création de la passerelle Application Gateway et des éléments à configurer. Avec Resource Manager, tous les éléments constitutifs d’une passerelle Application Gateway sont configurés individuellement, puis regroupés pour créer la ressource Application Gateway. @@ -59,9 +59,11 @@ Avec Resource Manager, tous les éléments constitutifs d’une passerelle Appli Pour créer une passerelle d’application, procédez comme suit : ## Créer un groupe de ressources pour Resource Manager + Assurez-vous que vous disposez de la version la plus récente d’Azure PowerShell. Pour plus d’informations, voir [Utilisation de Windows PowerShell avec Azure Resource Manager](../powershell-azure-resource-manager.md). ### Étape 1 : + Connexion à Azure ```powershell @@ -71,6 +73,7 @@ Login-AzureRmAccount Vous êtes invité à vous authentifier à l’aide de vos informations d’identification. ### Étape 2 : + Vérifiez les abonnements associés au compte. ```powershell @@ -78,6 +81,7 @@ Get-AzureRmSubscription ``` ### Étape 3 + Parmi vos abonnements Azure, choisissez celui que vous souhaitez utiliser. ```powershell @@ -85,6 +89,7 @@ Select-AzureRmSubscription -Subscriptionid "GUID of subscription" ``` ### Étape 4 + Créez un groupe de ressources (ignorez cette étape si vous utilisez un groupe de ressources existant). ```powershell @@ -93,17 +98,17 @@ New-AzureRmResourceGroup -Name appgw-rg -Location "West US" Azure Resource Manager requiert que tous les groupes de ressources spécifient un emplacement. Celui-ci est utilisé comme emplacement par défaut des ressources de ce groupe. Assurez-vous que toutes les commandes pour la création d’une passerelle Application Gateway utilisent le même groupe de ressources. -Dans l’exemple ci-dessus, nous avons créé un groupe de ressources appelé « appgw-RG », ainsi que l’emplacement « West US ». +Dans l’exemple ci-dessus, nous avons créé un groupe de ressources appelé **appgw-RG**, ainsi que l’emplacement **West US**. > [!NOTE] -> Si vous devez configurer une sonde personnalisée pour votre passerelle Application Gateway, consultez [Création d’une passerelle Application Gateway avec des sondes personnalisées à l’aide de PowerShell](application-gateway-create-probe-ps.md). Pour plus d’informations, découvrez les [sondes personnalisées et l’analyse du fonctionnement](application-gateway-probe-overview.md) . -> -> +> Si vous devez configurer une sonde personnalisée pour votre passerelle Application Gateway, consultez [Création d’une passerelle Application Gateway avec des sondes personnalisées à l’aide de PowerShell](application-gateway-create-probe-ps.md). Pour plus d’informations, découvrez les [sondes personnalisées et l’analyse du fonctionnement](application-gateway-probe-overview.md) . ## Créer un réseau virtuel et un sous-réseau pour la passerelle Application Gateway + L’exemple ci-après indique comment créer un réseau virtuel à l’aide de Resource Manager. ### Étape 1 + Attribuez la plage d’adresses 10.0.0.0/24 à la variable subnet à utiliser pour créer un réseau virtuel. ```powershell @@ -111,13 +116,15 @@ $subnet = New-AzureRmVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10 ``` ### Étape 2 -Créez un réseau virtuel nommé « appgwvnet » dans le groupe de ressources « appwrg » pour la région « West US » à l'aide du préfixe 10.0.0.0/16 avec le sous-réseau 10.0.0.0/24. + +Créez un réseau virtuel nommé **appgwvnet** dans le groupe de ressources **appgw-rg** pour la région « West US » à l’aide du préfixe 10.0.0.0/16 avec le sous-réseau 10.0.0.0/24. ```powershell $vnet = New-AzureRmVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnet ``` ### Étape 3 + Attribuez une variable de sous-réseau pour les prochaines étapes de création d'une passerelle d'application. ```powershell @@ -125,65 +132,75 @@ $subnet=$vnet.Subnets[0] ``` ## Création d'une adresse IP publique pour la configuration frontale -Créez une ressource IP publique « publicIP01 » dans le groupe de ressources « appw-rg » pour la région « West US ». + +Créez une ressource IP publique **publicIP01** dans le groupe de ressources **appgw-rg** pour la région « West US ». ```powershell $publicip = New-AzureRmPublicIpAddress -ResourceGroupName appgw-rg -name publicIP01 -location "West US" -AllocationMethod Dynamic ``` -## Créer un objet de configuration de passerelle Application Gateway -Avant de créer la passerelle d’application, vous devez installer tous les éléments de configuration. Les étapes suivantes permettent de créer les éléments de configuration nécessaires à une ressource Application Gateway. +## Créer les objets de configuration de passerelle Application Gateway -### Étape 1 : -Créez une configuration IP de passerelle Application Gateway nommée « gatewayIP01 ». Au démarrage, la passerelle Application Gateway sélectionne une adresse IP du sous-réseau configuré et achemine le trafic réseau vers les adresses IP du pool IP principal. Gardez à l’esprit que chaque instance utilise une adresse IP unique. +Avant de créer la passerelle Application Gateway, vous devez installer tous les éléments de configuration. Les étapes suivantes permettent de créer les éléments de configuration nécessaires à une ressource Application Gateway. + +### Étape 1 + +Créez une configuration IP de passerelle Application Gateway nommée **gatewayIP01**. Au démarrage, la passerelle Application Gateway sélectionne une adresse IP du sous-réseau configuré et achemine le trafic réseau vers les adresses IP du pool IP principal. Gardez à l’esprit que chaque instance utilise une adresse IP unique. ```powershell $gipconfig = New-AzureRmApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet ``` -### Étape 2 : -Configurez le pool d'adresses IP principal nommé « pool01 » avec les adresses IP « 134.170.185.46, 134.170.188.221, 134.170.185.50 ». Il s’agit des adresses IP qui recevront le trafic réseau provenant du point de terminaison IP frontal. Remplacez les adresses IP précédentes pour ajouter vos propres points de terminaison d’adresse IP d’application. +### Étape 2 + +Configurez le pool d’adresses IP principal nommé **pool01** avec les adresses IP **134.170.185.46**, **134.170.188.221**, **134.170.185.50**. Il s’agit des adresses IP qui recevront le trafic réseau provenant du point de terminaison IP frontal. Remplacez les adresses IP précédentes pour ajouter vos propres points de terminaison d’adresse IP d’application. ```powershell $pool = New-AzureRmApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 134.170.185.46, 134.170.188.221,134.170.185.50 ``` ### Étape 3 -Configurez les paramètres de passerelle Application Gateway « poolsetting01 » pour le trafic réseau à charge équilibrée dans le pool principal. + +Configurez les paramètres de passerelle Application Gateway **poolsetting01** pour le trafic réseau à charge équilibrée dans le pool principal. ```powershell $poolSetting = New-AzureRmApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled ``` ### Étape 4 -Configurez le port IP frontal nommé « frontendport01 » pour le point de terminaison IP public. + +Configurez le port IP frontal nommé **frontendport01** pour le point de terminaison IP public. ```powershell $fp = New-AzureRmApplicationGatewayFrontendPort -Name frontendport01 -Port 80 ``` ### Étape 5 -Créez la configuration IP frontale nommée « fipconfig01 » et associez l’adresse IP publique à cette configuration. + +Créez la configuration IP frontale nommée **fipconfig01** et associez l’adresse IP publique à cette configuration. ```powershell $fipconfig = New-AzureRmApplicationGatewayFrontendIPConfig -Name fipconfig01 -PublicIPAddress $publicip ``` ### Étape 6 -Créez l’écouteur nommé « listener01 » et associez le port frontal à la configuration IP frontale. + +Créez l’écouteur nommé **listener01** et associez le port frontal à la configuration IP frontale. ```powershell $listener = New-AzureRmApplicationGatewayHttpListener -Name listener01 -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp ``` ### Étape 7 -Créez la règle d’acheminement d’équilibrage de charge nommée « rule01 » qui configure le comportement d’équilibrage de charge. + +Créez la règle d’acheminement d’équilibrage de charge nommée **rule01** qui configure le comportement d’équilibrage de charge. ```powershell $rule = New-AzureRmApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool ``` ### Étape 8 + Configurez la taille d’instance de la passerelle Application Gateway. ```powershell @@ -191,18 +208,16 @@ $sku = New-AzureRmApplicationGatewaySku -Name Standard_Small -Tier Standard -Cap ``` > [!NOTE] -> La valeur par défaut du paramètre *InstanceCount* est de 2, avec une valeur maximale de 10. La valeur par défaut du paramètre *GatewaySize* est Medium. Vous pouvez choisir entre Standard_Small, Standard_Medium et Standard_Large. -> -> +> La valeur par défaut du paramètre **InstanceCount** est de 2, avec une valeur maximale de 10. La valeur par défaut du paramètre **GatewaySize** est Medium. Vous pouvez choisir entre **Standard_Small**, **Standard_Medium** et **Standard_Large**. ## Création d'une passerelle Application Gateway avec New-AzureRmApplicationGateway -Créez une passerelle Application Gateway avec tous les éléments de configuration de la procédure précédente. Dans notre exemple, la passerelle Application Gateway est appelée « appgwtest ». + +Créez une passerelle Application Gateway avec tous les éléments de configuration de la procédure précédente. Dans notre exemple, la passerelle Application Gateway est appelée **appgwtest**. ```powershell $appgw = New-AzureRmApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku ``` -### Étape 9 Récupérez les informations relatives au DNS et à l’adresse IP virtuelle de la passerelle Application Gateway à partir de la ressource IP publique attachée à la passerelle Application Gateway. ```powershell @@ -210,23 +225,26 @@ Get-AzureRmPublicIpAddress -Name publicIP01 -ResourceGroupName appgw-rg ``` ## Supprimer une passerelle Application Gateway + Pour supprimer une passerelle Application Gateway, procédez comme suit : -### Étape 1 : -Obtenez l’objet de passerelle Application Gateway et associez-le à une variable « $getgw ». +### Étape 1 + +Obtenez l’objet de passerelle Application Gateway et associez-le à une variable `$getgw`. ```powershell $getgw = Get-AzureRmApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg ``` -### Étape 2 : -Utilisez **Stop-AzureRmApplicationGateway** pour arrêter la passerelle Application Gateway. +### Étape 2 + +Utilisez `Stop-AzureRmApplicationGateway` pour arrêter la passerelle Application Gateway. ```powershell Stop-AzureRmApplicationGateway -ApplicationGateway $getgw ``` -Une fois la passerelle Application Gateway arrêtée, utilisez l’applet de commande **Remove-AzureRmApplicationGateway** pour supprimer le service. +Une fois la passerelle Application Gateway dans un état arrêté, utilisez l’applet de commande `Remove-AzureRmApplicationGateway` pour supprimer le service. ```powershell Remove-AzureRmApplicationGateway -Name $appgwtest -ResourceGroupName appgw-rg -Force @@ -234,16 +252,15 @@ Remove-AzureRmApplicationGateway -Name $appgwtest -ResourceGroupName appgw-rg -F > [!NOTE] > Il est possible d’utiliser le commutateur **-force** pour supprimer le message de confirmation de suppression. -> -> -Pour vérifier que la passerelle a bien été supprimée, vous pouvez utiliser l’applet de commande **Get-AzureRmApplicationGateway** . Cette étape n'est pas requise. +Pour vérifier que le service a été supprimé, vous pouvez utiliser l’applet de commande `Get-AzureRmApplicationGateway`. Cette étape n'est pas requise. ```powershell Get-AzureRmApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg ``` ## Obtenir le nom DNS d’une passerelle Application Gateway + Une fois la passerelle créée, l’étape suivante consiste à configurer le serveur frontal pour la communication. Lorsque vous utilisez une adresse IP publique, la passerelle Application Gateway requiert un nom DNS attribué dynamiquement, ce qui n’est pas convivial. Pour s’assurer que les utilisateurs finaux peuvent atteindre la passerelle Application Gateway, un enregistrement CNAME peut être utilisé pour pointer vers le point de terminaison public de la passerelle Application Gateway. [Configuration d’un nom de domaine personnalisé pour Azure](../cloud-services/cloud-services-custom-domain-name-portal.md). Pour ce faire, récupérez les détails de la passerelle Application Gateway et de son nom IP/DNS associé à l’aide de l’élément PublicIPAddress attaché à la passerelle Application Gateway. Le nom DNS de la passerelle Application Gateway doit être utilisé pour créer un enregistrement CNAME qui pointe les deux applications web sur ce nom DNS. L’utilisation de A-records n’est pas recommandée étant donné que l’adresse IP virtuelle peut changer lors du redémarrage de la passerelle Application Gateway. ```powershell @@ -273,6 +290,7 @@ DnsSettings : { ``` ## Étapes suivantes + Si vous souhaitez configurer le déchargement SSL, consultez [Configuration d’une passerelle Application Gateway pour le déchargement SSL](application-gateway-ssl.md). Si vous voulez configurer une passerelle Application Gateway à utiliser avec l’équilibreur de charge interne, consultez [Création d’une passerelle Application Gateway avec un équilibrage de charge interne (ILB)](application-gateway-ilb.md). @@ -285,6 +303,6 @@ Si vous souhaitez plus d'informations sur les options d'équilibrage de charge e - + diff --git a/articles/application-insights/app-insights-monitor-web-app-availability.md b/articles/application-insights/app-insights-monitor-web-app-availability.md index 51b41038b4a..03c0fdeb552 100644 --- a/articles/application-insights/app-insights-monitor-web-app-availability.md +++ b/articles/application-insights/app-insights-monitor-web-app-availability.md @@ -11,20 +11,20 @@ ms.workload: tbd ms.tgt_pltfrm: ibiza ms.devlang: na ms.topic: get-started-article -ms.date: 09/07/2016 +ms.date: 11/16/2016 ms.author: awills translationtype: Human Translation -ms.sourcegitcommit: b70c8baab03703bc00b75c2c611f69e3b71d6cd7 -ms.openlocfilehash: d3478ef704c0029f69cca141bd3fa0b3ac54de15 +ms.sourcegitcommit: 003db6e1479be1007dd292555ce5997f1c138809 +ms.openlocfilehash: c5c2742065536805cd032f2d814ad668b8ad3b6e --- # Analyse de la disponibilité et de la réactivité d'un site Web -Après avoir déployé votre application web ou votre site web sur un serveur, vous pouvez configurer des tests web pour surveiller sa disponibilité et sa réactivité. [Visual Studio Application Insights](app-insights-overview.md) envoie des requêtes web à votre application à intervalles réguliers à partir de différents points du monde, et vous alerte si votre application réagit lentement ou pas du tout. +Après avoir déployé votre application web ou votre site web sur un serveur, vous pouvez configurer des tests web pour surveiller sa disponibilité et sa réactivité. [Azure Application Insights](app-insights-overview.md) envoie des requêtes web à votre application à intervalles réguliers à partir de différents points du monde, et vous alerte si votre application réagit lentement ou pas du tout. ![Exemple de test web](./media/app-insights-monitor-web-app-availability/appinsights-10webtestresult.png) -Vous pouvez configurer des tests web pour n'importe quel point de terminaison HTTP ou HTTPS accessible à partir du réseau Internet public. +Vous pouvez configurer des tests web pour n'importe quel point de terminaison HTTP ou HTTPS accessible à partir du réseau Internet public. Vous n’avez rien à ajouter au site web que vous testez. Il ne faut pas nécessairement qu’il s’agisse de votre site : vous pouvez tester un service API REST dont vous dépendez. Il existe deux types de tests web : @@ -34,7 +34,7 @@ Il existe deux types de tests web : Vous pouvez créer jusqu’à 10 tests web par ressource d’application. ## 1. Créer une ressource pour vos rapports de test -Ignorez cette étape si vous avez déjà [configuré une ressource Application Insights] [start] pour cette application et que vous souhaitez afficher les rapports de disponibilité au même endroit. +Ignorez cette étape si vous avez déjà [configuré une ressource Application Insights][start] pour cette application et que vous souhaitez visualiser les rapports de disponibilité au même emplacement. Inscrivez-vous à [Microsoft Azure](http://azure.com), accédez au [portail Azure](https://portal.azure.com), et créez une ressource Application Insights. @@ -58,7 +58,7 @@ Dans votre ressource Application Insights, recherchez la vignette de disponibili **Réponse HTTP**: le code d’état retourné est comptabilisé comme un succès. 200 est le code qui indique qu’une page web normale a été retournée. - **Correspondance de contenu**: une chaîne telle que « Bienvenue ! » Nous vérifions qu’elle est présente dans chaque réponse. Il doit s'agir d'une chaîne standard sans caractère générique. N'oubliez pas que si votre contenu change, vous devrez peut-être l'actualiser. + **Correspondance de contenu**: une chaîne telle que « Bienvenue ! Nous vérifions qu’une correspondance exacte respectant la casse est présente dans chaque réponse. Il doit s'agir d'une chaîne standard sans caractère générique. N'oubliez pas que si votre contenu change, vous devrez peut-être l'actualiser. * Des **alertes** vous sont envoyées par défaut, en cas de défaillance dans trois emplacements en cinq minutes. Une défaillance dans un emplacement est susceptible d’être un problème réseau et non un problème relatif à votre site. Cependant, vous pouvez modifier le seuil de manière à ce qu’il soit plus ou moins sensible. Vous pouvez également modifier les destinataires des courriers électroniques. Vous pouvez configurer un [webhook](../monitoring-and-diagnostics/insights-webhooks-alerts.md) qui est appelé lorsqu’une alerte est déclenchée. (Mais notez qu’à l’heure actuelle, les paramètres de requête ne sont pas transmis en tant que propriétés.) @@ -102,9 +102,21 @@ Vous pouvez aussi télécharger le fichier de résultats et l’examiner dans Vi *Le résultat semble correct, mais une erreur est signalée ?* Vérifiez toutes les images, les scripts, les feuilles de style et tout autre fichier chargé par la page. Si l’un d’eux échoue, le test signale une erreur, même si la page html principale se charge correctement. -## Tests web à plusieurs étapes +### Ouvrir la demande et les exceptions du serveur + +À partir des propriétés détaillées d’un test particulier, vous pouvez ouvrir le rapport côté serveur de la demande et tous les autres événements tels que les exceptions. + +![Webtest run result](./media/app-insights-monitor-web-app-availability/web-test-linked-to-server-telemetry.png) + +Si vous ne voyez pas d’éléments associés, cela peut signifier que [l’échantillonnage](app-insights-sampling.md) est en cours de fonctionnement. + +## Tests web à plusieurs étapes Vous pouvez analyser un scénario qui implique une séquence d'URL. Par exemple, si vous analysez un site Web commercial, vous pouvez vérifier que l’ajout d’articles au panier d’achat fonctionne correctement. +> [!NOTE] +> Les tests web à plusieurs étapes ont un coût. [Mécanisme de tarification](http://azure.microsoft.com/pricing/details/application-insights/). +> + Pour créer un test à plusieurs étapes, vous enregistrez le scénario à l'aide de Visual Studio et téléchargez ensuite l'enregistrement dans Application Insights. Application Insights relit le scénario à intervalles réguliers et vérifie les réponses. Notez que vous ne pouvez pas utiliser de fonctions codées dans vos tests : les étapes du scénario doivent figurer sous forme de script dans le fichier .webtest. @@ -153,7 +165,7 @@ N’oubliez pas que toutes les ressources d’une page doivent se charger correc Notez que le test web doit être entièrement contenu dans le fichier .webtest : vous ne pouvez pas utiliser de fonctions codées dans le test. -### Ajout de plug-ins de temps et de nombres aléatoires à votre test à plusieurs étapes +### Ajout de plug-ins de temps et de nombres aléatoires à votre test à plusieurs étapes Supposons que vous testiez un outil qui obtient des données temporelles, telles que des actions à partir d’un flux externe. Lorsque vous enregistrez votre test web, vous devez utiliser des heures spécifiques, mais vous les définissez en tant que paramètres de test, à savoir StartTime et EndTime. ![Un test web avec des paramètres.](./media/app-insights-monitor-web-app-availability/appinsights-72webtest-parameters.png) @@ -176,7 +188,7 @@ Les plug-ins de test web vous permettent de paramétrer les heures. Maintenant, téléchargez votre test sur le portail. Il utilise les valeurs dynamiques à chaque exécution du test. -## Gestion de la connexion +## Gestion de la connexion Si vos utilisateurs se connectent à votre application, vous disposez de différentes options pour simuler la connexion et tester les pages suivant la connexion. L’approche que vous utilisez dépend du type de sécurité fourni par l’application. Dans tous les cas, vous devez créer un compte dans votre application uniquement à des fins de test. Si possible, limitez les autorisations de ce compte de test afin que les tests web n’affectent aucunement les utilisateurs réels. @@ -267,7 +279,7 @@ Une fois le test terminé, les temps de réponse et les taux de réussite s’af > ## Étapes suivantes -[Recherche dans les journaux de diagnostic][diagnostic] +[Recherche des journaux de diagnostic][diagnostic] [Résolution des problèmes][qna] @@ -282,6 +294,6 @@ Une fois le test terminé, les temps de réponse et les taux de réussite s’af - + diff --git a/articles/azure-resource-manager/resource-group-overview.md b/articles/azure-resource-manager/resource-group-overview.md index db4f4837606..156d48765e9 100644 --- a/articles/azure-resource-manager/resource-group-overview.md +++ b/articles/azure-resource-manager/resource-group-overview.md @@ -12,11 +12,11 @@ ms.devlang: na ms.topic: get-started-article ms.tgt_pltfrm: na ms.workload: na -ms.date: 11/01/2016 +ms.date: 12/12/2016 ms.author: tomfitz translationtype: Human Translation -ms.sourcegitcommit: 219dcbfdca145bedb570eb9ef747ee00cc0342eb -ms.openlocfilehash: c122d9ecb4f43c4288cc00c24eca499ac6bb51dc +ms.sourcegitcommit: dabe7d9796ab24a257ea904bc5d978cb71d7e149 +ms.openlocfilehash: 1733edf961c2ce1297fc148d3a844ce141f5d7c2 --- @@ -43,7 +43,7 @@ Resource Manager offre plusieurs avantages : * Vous pouvez appliquer des balises aux ressources pour organiser logiquement toutes les ressources de votre abonnement. * Vous pouvez clarifier la facturation de votre organisation en affichant les coûts d’un groupe de ressources partageant la même balise. -Resource Manager propose une nouvelle façon de déployer et de gérer vos solutions. Si vous avez utilisé un modèle de déploiement antérieur et souhaitez obtenir des informations sur les modifications, consultez [Présentation du déploiement de Resource Manager et du déploiement classique](../resource-manager-deployment-model.md). +Resource Manager propose une nouvelle façon de déployer et de gérer vos solutions. Si vous avez utilisé un modèle de déploiement antérieur et souhaitez obtenir des informations sur les modifications, consultez [Présentation du déploiement de Resource Manager et du déploiement classique](resource-manager-deployment-model.md). ## Couche de gestion cohérente Resource Manager fournit une couche de gestion cohérente pour les tâches à effectuer via Azure PowerShell, l’interface de ligne de commande Azure, le portail Azure, l’API REST et les outils de développement. Tous les outils utilisent un ensemble commun d’opérations. Vous utilisez les outils qui vous conviennent le mieux et vous pouvez les utiliser indifféremment sans risque de confusion. @@ -60,9 +60,9 @@ Les suggestions suivantes vous aideront à tirer le meilleur parti de Resource M 3. Exécutez des commandes impératives pour gérer vos ressources, par exemple démarrer ou arrêter une application ou une machine. 4. Organisez des ressources avec le même cycle de vie dans un groupe de ressources. Utilisez des balises pour toute organisation des ressources. -Pour des recommandations sur les modèles, voir [Bonnes pratiques relatives à la création de modèles Azure Resource Manager](../resource-manager-template-best-practices.md). +Pour des recommandations sur les modèles, voir [Bonnes pratiques relatives à la création de modèles Azure Resource Manager](resource-manager-template-best-practices.md). -Pour obtenir des conseils sur l’utilisation de Resource Manager par les entreprises pour gérer efficacement les abonnements, voir [Structure d’Azure Enterprise - Gouvernance normative de l’abonnement](../resource-manager-subscription-governance.md). +Pour obtenir des conseils sur l’utilisation de Resource Manager par les entreprises pour gérer efficacement les abonnements, voir [Structure d’Azure Enterprise - Gouvernance normative de l’abonnement](resource-manager-subscription-governance.md). ## Groupes de ressources Lorsque vous définissez votre groupe de ressources, vous devez prendre en compte certains facteurs importants : @@ -70,7 +70,7 @@ Lorsque vous définissez votre groupe de ressources, vous devez prendre en compt 1. Toutes les ressources de votre groupe doivent partager le même cycle de vie. Les opérations de déploiement, de mise à jour et de suppression porteront sur toutes les ressources du groupe. Si l’une des ressources, comme un serveur de base de données, doit exister dans un autre cycle de déploiement, elle doit appartenir à un autre groupe de ressources. 2. Chaque ressource ne peut exister que dans un seul groupe de ressources. 3. Vous pouvez à tout moment ajouter ou supprimer une ressource au niveau d’un groupe de ressources. -4. Vous pouvez déplacer une ressource d’un groupe de ressources vers un autre groupe. Pour plus d’informations, consultez la page [Déplacement de ressources vers un nouveau groupe de ressources ou un abonnement](../resource-group-move-resources.md). +4. Vous pouvez déplacer une ressource d’un groupe de ressources vers un autre groupe. Pour plus d’informations, consultez la page [Déplacement de ressources vers un nouveau groupe de ressources ou un abonnement](resource-group-move-resources.md). 5. Un groupe de ressources peut contenir des ressources figurant dans différentes régions. 6. Un groupe de ressources peut être utilisé pour définir l’étendue du contrôle d’accès des actions administratives. 7. Une ressource peut interagir avec celles d’autres groupes de ressources. Cette interaction est courante lorsque les deux ressources sont liées, mais ne partagent pas le même cycle de vie (par exemple, applications Web connectées à une base de données). @@ -82,6 +82,10 @@ Chaque fournisseur de ressources propose un ensemble de ressources et d’opéra Avant de commencer à déployer vos ressources, vous devez connaître les fournisseurs de ressources disponibles. Connaître les noms des fournisseurs de ressources et des ressources vous permettra de mieux définir les ressources que vous allez déployer dans Azure. +Vous pouvez visualiser tous les fournisseurs de ressources par le biais du portail. Dans le panneau de votre abonnement, sélectionnez **Fournisseurs de ressources** : + +![visualiser les fournisseurs de ressources](./media/resource-group-overview/view-resource-providers.png) + Pour récupérer tous les fournisseurs de ressources, utilisez l’applet de commande PowerShell suivante : Get-AzureRmResourceProvider -ListAvailable @@ -100,12 +104,12 @@ Sinon, à partir de l’interface CLI Azure, utilisez la commande suivante pour azure provider show Microsoft.Compute --json > c:\Azure\compute.json -Pour plus d’informations, consultez la page [Fournisseurs, régions, schémas et versions d’API Resource Manager](../resource-manager-supported-services.md). +Pour plus d’informations, consultez la page [Fournisseurs, régions, schémas et versions d’API Resource Manager](resource-manager-supported-services.md). ## Déploiement de modèle -Avec Resource Manager, vous pouvez créer un modèle (au format JSON) définissant l’infrastructure et la configuration de votre solution Azure. Un modèle vous permet de déployer votre solution à plusieurs reprises tout au long de son cycle de vie pour avoir la garantie que vos ressources présentent un état cohérent lors de leur déploiement. Lorsque vous créez une solution à partir du portail, cette solution inclut automatiquement un modèle de déploiement. Vous n’êtes pas contraint de créer votre modèle à partir de zéro, car vous pouvez partir du modèle de votre solution et le personnaliser en fonction de vos besoins spécifiques. Vous pouvez récupérer un modèle pour un groupe de ressources existant en exportant l’état actuel du groupe de ressources ou en affichant le modèle utilisé pour un déploiement particulier. L’affichage du [modèle exporté](../resource-manager-export-template.md) est un moyen utile pour en découvrir plus sur sa syntaxe. +Avec Resource Manager, vous pouvez créer un modèle (au format JSON) définissant l’infrastructure et la configuration de votre solution Azure. Un modèle vous permet de déployer votre solution à plusieurs reprises tout au long de son cycle de vie pour avoir la garantie que vos ressources présentent un état cohérent lors de leur déploiement. Lorsque vous créez une solution à partir du portail, cette solution inclut automatiquement un modèle de déploiement. Vous n’êtes pas contraint de créer votre modèle à partir de zéro, car vous pouvez partir du modèle de votre solution et le personnaliser en fonction de vos besoins spécifiques. Vous pouvez récupérer un modèle pour un groupe de ressources existant en exportant l’état actuel du groupe de ressources ou en affichant le modèle utilisé pour un déploiement particulier. L’affichage du [modèle exporté](resource-manager-export-template.md) est un moyen utile pour en découvrir plus sur sa syntaxe. -Pour en savoir plus sur le format du modèle et sur sa construction, consultez les pages [Création de modèles Azure Resource Manager](../resource-group-authoring-templates.md) et [Guide de création d’un modèle Resource Manager](../resource-manager-template-walkthrough.md). +Pour en savoir plus sur le format du modèle et sur sa construction, consultez les pages [Création de modèles Azure Resource Manager](resource-group-authoring-templates.md) et [Guide de création d’un modèle Resource Manager](resource-manager-template-walkthrough.md). Resource Manager traite le modèle comme toute autre requête (voir l’image [Couche de gestion cohérente](#consistent-management-layer)). Il analyse le modèle et convertit sa syntaxe en opérations API REST pour les fournisseurs de ressources appropriés. Par exemple, lorsque Resource Manager reçoit un modèle avec la définition de ressource suivante : @@ -151,24 +155,24 @@ Si vos niveaux vont avoir des cycles de vie distincts, vous pouvez déployer les ![modèle niveau](./media/resource-group-overview/tier-templates.png) -Pour obtenir plus de conseils sur la conception de vos modèles, consultez [Schémas de conception des modèles Azure Resource Manager](../best-practices-resource-manager-design-templates.md). Pour plus d’informations sur les modèles imbriqués, consultez [Utilisation de modèles liés avec Azure Resource Manager](../resource-group-linked-templates.md). +Pour obtenir plus de conseils sur la conception de vos modèles, consultez [Schémas de conception des modèles Azure Resource Manager](best-practices-resource-manager-design-templates.md). Pour plus d’informations sur les modèles imbriqués, consultez [Utilisation de modèles liés avec Azure Resource Manager](resource-group-linked-templates.md). -Pour consulter une série en quatre parties sur l’automatisation du déploiement, consultez [Automatisation des déploiements d’applications sur des machines virtuelles Azure](../virtual-machines/virtual-machines-windows-dotnet-core-1-landing.md). Cette série couvre l’architecture, l’accès, la sécurité, la disponibilité, la mise à l’échelle et le déploiement des applications. +Pour consulter une série en quatre parties sur l’automatisation du déploiement, consultez [Automatisation des déploiements d’applications sur des machines virtuelles Azure](../virtual-machines/virtual-machines-windows-dotnet-core-1-landing.md?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). Cette série couvre l’architecture, l’accès, la sécurité, la disponibilité, la mise à l’échelle et le déploiement des applications. -Azure Resource Manager analyse les dépendances pour vérifier que les ressources sont créées dans l’ordre approprié. Si une ressource dépend d’une valeur d’une autre ressource (par exemple, une machine virtuelle ayant besoin d’un compte de stockage pour les disques), vous devez définir une dépendance. Pour plus d’informations, consultez [Définition de dépendances dans des modèles Azure Resource Manager](../resource-group-define-dependencies.md). +Azure Resource Manager analyse les dépendances pour vérifier que les ressources sont créées dans l’ordre approprié. Si une ressource dépend d’une valeur d’une autre ressource (par exemple, une machine virtuelle ayant besoin d’un compte de stockage pour les disques), vous devez définir une dépendance. Pour plus d’informations, consultez [Définition de dépendances dans des modèles Azure Resource Manager](resource-group-define-dependencies.md). Vous pouvez également utiliser le modèle pour les mises à jour de l’infrastructure. Par exemple, vous pouvez ajouter une ressource à votre solution et ajouter des règles de configuration pour les ressources qui sont déjà déployées. Si le modèle spécifie de créer une ressource, mais que cette ressource existe déjà, Azure Resource Manager effectue une mise à jour au lieu de créer une autre ressource. Azure Resource Manager met à jour l’actif existant vers l’état qu’il présenterait s’il s’agissait d’une nouvelle ressource. -Resource Manager fournit des extensions pour les cas qui nécessitent des opérations supplémentaires, comme l’installation d’un logiciel spécifique non inclus dans la configuration. Si vous utilisez déjà un service de gestion de configuration, comme DSC, Chef ou Puppet, vous pouvez continuer à travailler avec ce service en utilisant des extensions. Pour plus d’informations sur les extensions de machines virtuelles, consultez la page [À propos des extensions et des fonctionnalités des machines virtuelles](../virtual-machines/virtual-machines-windows-extensions-features.md). +Resource Manager fournit des extensions pour les cas qui nécessitent des opérations supplémentaires, comme l’installation d’un logiciel spécifique non inclus dans la configuration. Si vous utilisez déjà un service de gestion de configuration, comme DSC, Chef ou Puppet, vous pouvez continuer à travailler avec ce service en utilisant des extensions. Pour plus d’informations sur les extensions de machines virtuelles, consultez la page [À propos des extensions et des fonctionnalités des machines virtuelles](../virtual-machines/virtual-machines-windows-extensions-features.md?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). Pour finir, le modèle devient partie intégrante du code source de votre application. Vous pouvez l’archiver dans votre référentiel de code source et le mettre à jour à mesure que votre application évolue. Le modèle est modifiable par le biais de Visual Studio. Une fois votre modèle défini, vous êtes prêt à déployer vos ressources dans Azure. Pour accéder aux commandes de déploiement des ressources, consultez les articles suivants : -* [Déployer des ressources à l’aide de modèles Resource Manager et d’Azure PowerShell](../resource-group-template-deploy.md) -* [Déployer des ressources à l’aide de modèles Resource Manager et de l’interface de ligne de commande Azure](../resource-group-template-deploy-cli.md) -* [Déployer des ressources à l’aide de modèles Resource Manager et du Portail Azure](../resource-group-template-deploy-portal.md) -* [Déployer des ressources à l’aide de modèles Resource Manager et de l’API REST Resource Manager](../resource-group-template-deploy-rest.md) +* [Déployer des ressources à l’aide de modèles Resource Manager et d’Azure PowerShell](resource-group-template-deploy.md) +* [Déployer des ressources à l’aide de modèles Resource Manager et de l’interface de ligne de commande Azure](resource-group-template-deploy-cli.md) +* [Déployer des ressources à l’aide de modèles Resource Manager et du Portail Azure](resource-group-template-deploy-portal.md) +* [Déployer des ressources à l’aide de modèles Resource Manager et de l’API REST Resource Manager](resource-group-template-deploy-rest.md) ## Tags Resource Manager fournit une fonctionnalité de balisage vous permettant de catégoriser les ressources en fonction de vos exigences de gestion ou de facturation. Utilisez des balises lorsque vous disposez d’un ensemble complexe de groupes de ressources et de ressources et que vous souhaitez les visualiser de la façon qui vous convient le mieux. Par exemple, vous pouvez baliser des ressources qui jouent un rôle similaire dans votre organisation ou qui appartiennent au même département. Sans balises, les utilisateurs de votre organisation peuvent créer plusieurs ressources qui peuvent s’avérer difficiles à identifier et à gérer ultérieurement. Par exemple, vous pouvez souhaiter supprimer toutes les ressources d’un projet particulier. Si ces ressources ne sont pas balisées pour le projet, vous devez les rechercher manuellement. Le balisage constitue un levier important pour réduire les coûts inutiles dans votre abonnement. @@ -200,7 +204,7 @@ Vous pouvez également exécuter la commande CLI Azure suivante : Vous avez également la possibilité de consulter les ressources balisées via le portail Azure. -Le [rapport d’utilisation](../billing/billing-understand-your-bill.md) de votre abonnement inclut les noms et valeurs de balises, ce qui vous permet de répartir les coûts en fonction des balises. Pour plus d’informations sur les balises, voir [Organisation des ressources Azure à l’aide de balises](../resource-group-using-tags.md). +Le [rapport d’utilisation](../billing/billing-understand-your-bill.md) de votre abonnement inclut les noms et valeurs de balises, ce qui vous permet de répartir les coûts en fonction des balises. Pour plus d’informations sur les balises, voir [Organisation des ressources Azure à l’aide de balises](resource-group-using-tags.md). ## Contrôle d’accès Resource Manager vous permet de déterminer les utilisateurs qui sont autorisés à exécuter des actions spécifiques pour votre organisation. Il intègre en mode natif le contrôle d’accès en fonction du rôle (RBAC) à la plate-forme de gestion et applique ce contrôle d’accès à tous les services de votre groupe de ressources. @@ -231,14 +235,14 @@ Pour obtenir la liste complète des rôles et actions autorisés, consultez la p Dans certains cas, vous souhaiterez exécuter un code ou un script permettant d’accéder aux ressources, sans avoir à utiliser les informations d’identification d’un utilisateur. Vous pouvez choisir de créer une identité appelée « principal de service » de l’application et lui attribuer le rôle approprié. Resource Manager vous permet de créer des informations d’identification pour l’application et d’authentifier cette application par le biais d’une programmation. Pour en savoir plus sur la création de principaux de service, consultez l’une des rubriques suivantes : -* [Créer un principal du service pour accéder aux ressources à l’aide d’Azure PowerShell](../resource-group-authenticate-service-principal.md) -* [Créer un principal du service pour accéder aux ressources à l’aide de l’interface de ligne de commande (CLI) Azure](../resource-group-authenticate-service-principal-cli.md) -* [Utiliser le portail pour créer une application et un principal du service Active Directory pouvant accéder aux ressources](../resource-group-create-service-principal-portal.md) +* [Créer un principal du service pour accéder aux ressources à l’aide d’Azure PowerShell](resource-group-authenticate-service-principal.md) +* [Créer un principal du service pour accéder aux ressources à l’aide de l’interface de ligne de commande (CLI) Azure](resource-group-authenticate-service-principal-cli.md) +* [Utiliser le portail pour créer une application et un principal du service Active Directory pouvant accéder aux ressources](resource-group-create-service-principal-portal.md) -Vous pouvez également verrouiller explicitement les ressources essentielles afin d’empêcher les utilisateurs de les supprimer ou de les modifier. Pour plus d’informations, consultez [Verrouiller des ressources avec Azure Resource Manager](../resource-group-lock-resources.md). +Vous pouvez également verrouiller explicitement les ressources essentielles afin d’empêcher les utilisateurs de les supprimer ou de les modifier. Pour plus d’informations, consultez [Verrouiller des ressources avec Azure Resource Manager](resource-group-lock-resources.md). ## Journaux d’activité -Resource Manager consigne dans un journal toutes les opérations de création, de modification ou de suppression d’une ressource. Vous pouvez utiliser les journaux d’activité pour rechercher une erreur lors de la résolution de problèmes ou pour surveiller la manière dont un utilisateur de votre organisation modifie une ressource. Pour afficher les journaux, sélectionnez **Journaux d’activité** dans le panneau **Paramètres** d’un groupe de ressources. Vous pouvez filtrer les journaux selon différentes valeurs, notamment en fonction de l’utilisateur ayant initié l’opération. Pour plus d’informations sur l’utilisation des journaux d’activité, consultez [Opérations d’audit avec Resource Manager](../resource-group-audit.md). +Resource Manager consigne dans un journal toutes les opérations de création, de modification ou de suppression d’une ressource. Vous pouvez utiliser les journaux d’activité pour rechercher une erreur lors de la résolution de problèmes ou pour surveiller la manière dont un utilisateur de votre organisation modifie une ressource. Pour afficher les journaux, sélectionnez **Journaux d’activité** dans le panneau **Paramètres** d’un groupe de ressources. Vous pouvez filtrer les journaux selon différentes valeurs, notamment en fonction de l’utilisateur ayant initié l’opération. Pour plus d’informations sur l’utilisation des journaux d’activité, consultez [Opérations d’audit avec Resource Manager](resource-group-audit.md). ## Stratégies personnalisées Resource Manager vous permet de créer des stratégies personnalisées pour gérer vos ressources. Les types de stratégies que vous créez peuvent inclure divers scénarios. Vous pouvez appliquer une convention de dénomination des ressources, limiter les types et les instances de ressources qui peuvent être déployées ou limiter les régions qui peuvent héberger un type de ressource. Vous pouvez demander une valeur de balise sur les ressources pour organiser la facturation par service. Vous créez des stratégies pour vous aider à réduire les coûts et à assurer la cohérence de votre abonnement. @@ -259,7 +263,7 @@ L’exemple suivant illustre une stratégie qui garantit la cohérence des balis } } -Il existe de nombreux autres types de stratégies que vous pouvez créer. Pour plus d'informations, consultez [Utiliser le service Policy pour gérer les ressources et contrôler l'accès](../resource-manager-policy.md). +Il existe de nombreux autres types de stratégies que vous pouvez créer. Pour plus d'informations, consultez [Utiliser le service Policy pour gérer les ressources et contrôler l'accès](resource-manager-policy.md). ## Kits de développement logiciel (SDK) Des kits de développement logiciel (SDK) Azure sont disponibles en plusieurs langues sur plusieurs plates-formes. @@ -276,7 +280,7 @@ Voici nos référentiels de Kit de développement logiciel (SDK) open source. N [.NET](https://github.com/Azure/azure-sdk-for-net) | [Java](https://github.com/Azure/azure-sdk-for-java) | [Node.js](https://github.com/Azure/azure-sdk-for-node) | [PHP](https://github.com/Azure/azure-sdk-for-php) | [Python](https://github.com/Azure/azure-sdk-for-python) | [Ruby](https://github.com/Azure/azure-sdk-ruby) > [!NOTE] -> Si le Kit de développement logiciel (SDK) ne fournit pas la fonctionnalité requise, vous pouvez également appeler l’ [API REST Azure](https://msdn.microsoft.com/library/azure/dn790568.aspx) directement. +> Si le Kit de développement logiciel (SDK) ne fournit pas la fonctionnalité requise, vous pouvez également appeler l’ [API REST Azure](https://docs.microsoft.com/rest/api/resources/) directement. > > @@ -307,21 +311,21 @@ Outre ces modèles, vous pouvez parcourir les modèles de la galerie. [.NET](https://azure.microsoft.com/documentation/samples/?service=azure-resource-manager&platform=dotnet) | [Java](https://azure.microsoft.com/documentation/samples/?service=azure-resource-manager&platform=java) | [Node.js](https://azure.microsoft.com/documentation/samples/?service=azure-resource-manager&platform=nodejs) | [Python](https://azure.microsoft.com/documentation/samples/?service=azure-resource-manager&platform=python) | [Ruby](https://azure.microsoft.com/documentation/samples/?service=azure-resource-manager&platform=ruby) ## Étapes suivantes -* Pour une présentation simple de l’utilisation des modèles, consultez [Exporter un modèle Azure Resource Manager à partir de ressources existantes](../resource-manager-export-template.md). -* Pour une procédure plus détaillée de création d’un modèle, consultez [Guide de création d’un modèle Resource Manager](../resource-manager-template-walkthrough.md). -* Pour comprendre les fonctions que vous pouvez utiliser dans un modèle, consultez [Fonctions de modèle](../resource-group-template-functions.md) -* Pour plus d’informations sur l’utilisation de Visual Studio avec Resource Manager, consultez [Création et déploiement de groupes de ressources Azure à l’aide de Visual Studio](../vs-azure-tools-resource-groups-deployment-projects-create-deploy.md). -* Pour plus d’informations sur l’utilisation de VS Code avec Resource Manager, consultez [Utiliser des modèles Azure Resource Manager dans Visual Studio Code](../resource-manager-vs-code.md). +* Pour une présentation simple de l’utilisation des modèles, consultez [Exporter un modèle Azure Resource Manager à partir de ressources existantes](resource-manager-export-template.md). +* Pour une procédure plus détaillée de création d’un modèle, consultez [Guide de création d’un modèle Resource Manager](resource-manager-template-walkthrough.md). +* Pour comprendre les fonctions que vous pouvez utiliser dans un modèle, consultez [Fonctions de modèle](resource-group-template-functions.md) +* Pour plus d’informations sur l’utilisation de Visual Studio avec Resource Manager, consultez [Création et déploiement de groupes de ressources Azure à l’aide de Visual Studio](vs-azure-tools-resource-groups-deployment-projects-create-deploy.md). +* Pour plus d’informations sur l’utilisation de VS Code avec Resource Manager, consultez [Utiliser des modèles Azure Resource Manager dans Visual Studio Code](resource-manager-vs-code.md). Voici une vidéo de cette présentation : -[!VIDEO https://channel9.msdn.com/Blogs/Azure-Documentation-Shorts/Azure-Resource-Manager-Overview/player] +>[!VIDEO https://channel9.msdn.com/Blogs/Azure-Documentation-Shorts/Azure-Resource-Manager-Overview/player] -[powershellref]: https://msdn.microsoft.com/library/azure/dn757692(v=azure.200).aspx +[powershellref]: https://docs.microsoft.com/powershell/resourcemanager/azurerm.resources/v3.2.0/azurerm.resources - + diff --git a/articles/container-service/container-service-mesos-marathon-rest.md b/articles/container-service/container-service-mesos-marathon-rest.md index 51540fa46de..5a05d0ea53f 100644 --- a/articles/container-service/container-service-mesos-marathon-rest.md +++ b/articles/container-service/container-service-mesos-marathon-rest.md @@ -3,7 +3,7 @@ title: "Gestion de conteneur Azure Container Service via l’API REST | Microsof description: "Déployez des conteneurs vers un cluster Mesos Azure Container Service à l’aide de l’API REST Marathon." services: container-service documentationcenter: -author: neilpeterson +author: dlepow manager: timlt editor: tags: acs, azure-container-service @@ -15,10 +15,10 @@ ms.topic: get-started-article ms.tgt_pltfrm: na ms.workload: na ms.date: 09/13/2016 -ms.author: timlt +ms.author: danlep translationtype: Human Translation -ms.sourcegitcommit: dcda8b30adde930ab373a087d6955b900365c4cc -ms.openlocfilehash: e8f1ad596d2b64380876a501ebcf127afdda9ccf +ms.sourcegitcommit: 54832afbc9a7bf1d660de3fd898ad5c97715ca5d +ms.openlocfilehash: a01993eb01b9e05b4848d5a81b841fe10ccae035 --- @@ -33,13 +33,13 @@ Bien qu’il existe des infrastructures pour de nombreuses charges de travail co Une fois que vous êtes connecté au cluster Azure Container Service, vous pouvez accéder à DC/OS et aux API REST associées via http://localhost:local-port. Les exemples cités dans ce document partent du principe que vous créez un tunnel sur le port 80. Par exemple, le point de terminaison Marathon peut être joint à `http://localhost/marathon/v2/`. Pour plus d’informations sur les différentes API, consultez la documentation Mesosphere relative à l’[API Marathon](https://mesosphere.github.io/marathon/docs/rest-api.html) et à l’[API Chronos](https://mesos.github.io/chronos/docs/api.html), ainsi que la documentation Apache relative à l’[API Mesos Scheduler](http://mesos.apache.org/documentation/latest/scheduler-http-api/). ## Collecte d’informations à partir de DC/OS et de Marathon -Avant de déployer des conteneurs vers le cluster DC/OS, vous devez recueillir certaines informations sur le cluster DC/OS, notamment le nom et l’état actuel des agents DC/OS. Pour ce faire, interrogez le point de terminaison `master/slaves` sur l’API REST DC/OS. Si tout se passe bien, vous accéderez à une liste d’agents DC/OS accompagnée de quelques-unes de leurs propriétés. +Avant de déployer des conteneurs vers le cluster DC/OS, vous devez recueillir certaines informations sur le cluster DC/OS, notamment le nom et l’état actuel des agents DC/OS. Pour ce faire, interrogez le point de terminaison `master/slaves` sur l’API REST DC/OS. Si tout se déroule correctement, la requête renvoie une liste d’agents DC/OS accompagnée de quelques-unes de leurs propriétés. ```bash curl http://localhost/mesos/master/slaves ``` -À présent, utilisez le point de terminaison `/apps` de Marathon pour vérifier les déploiements d’application actuels vers le cluster DC/OS. S’il s’agit d’un nouveau cluster, un tableau vide s’affichera pour les applications. +À présent, utilisez le point de terminaison `/apps` de Marathon pour vérifier les déploiements d’application actuels vers le cluster DC/OS. S’il s’agit d’un nouveau cluster, un tableau vide s’affiche pour les applications. ``` curl localhost/marathon/v2/apps @@ -48,7 +48,7 @@ curl localhost/marathon/v2/apps ``` ## Déployer un conteneur au format Docker -Vous déployez les conteneurs au format Docker via Marathon à l’aide d’un fichier JSON décrivant le déploiement souhaité. L’exemple suivant permet de déployer le conteneur Nginx en liant le port 80 de l’agent DC/OS au port 80 du conteneur. Notez également que la propriété « acceptedResourceRoles » est définie sur « slave_public ». Cette action déploie le conteneur sur un agent dans le jeu public de mise à l’échelle de l’agent. +Vous déployez les conteneurs au format Docker via Marathon à l’aide d’un fichier JSON décrivant le déploiement souhaité. L’exemple ci-après déploie le conteneur Nginx en liant le port 80 de l’agent DC/OS au port 80 du conteneur. Notez également que la propriété « acceptedResourceRoles » est définie sur « slave_public ». Cette action déploie le conteneur sur un agent du groupe public d’agents identiques. ```json { @@ -84,7 +84,7 @@ Vous devez obtenir un résultat semblable à ce qui suit : {"version":"2015-11-20T18:59:00.494Z","deploymentId":"b12f8a73-f56a-4eb1-9375-4ac026d6cdec"} ``` -À présent, si vous interrogez Marathon à propos des applications, cette nouvelle application s’affichera dans la sortie. +À présent, si vous interrogez Marathon à propos des applications, cette nouvelle application apparaît dans la sortie. ``` curl localhost/marathon/v2/apps @@ -100,7 +100,7 @@ Vous pouvez également utiliser l’API Marathon pour diminuer ou augmenter la t Exécutez la commande suivante pour augmenter la taille des instances de l’application. > [!NOTE] -> L’URI sera http://localhost/marathon/v2/apps/, suivi de l’ID de l’application que vous souhaitez mettre à l’échelle. Si vous utilisiez l’exemple Nginx fourni ici, l’URI serait http://localhost/marathon/v2/apps/nginx. +> L’URI est http://localhost/marathon/v2/apps/, suivi de l’ID de l’application que vous souhaitez mettre à l’échelle. Si vous utilisiez l’exemple Nginx fourni ici, l’URI serait http://localhost/marathon/v2/apps/nginx. > > @@ -108,7 +108,7 @@ Exécutez la commande suivante pour augmenter la taille des instances de l’app curl http://localhost/marathon/v2/apps/nginx -H "Content-type: application/json" -X PUT -d @scale.json ``` -Pour finir, interrogez le point de terminaison Marathon sur les applications. Vous verrez qu’il existe désormais trois instances d’application de conteneurs Nginx. +Pour finir, interrogez le point de terminaison Marathon sur les applications. Vous constatez qu’il existe désormais trois conteneurs Nginx. ``` curl localhost/marathon/v2/apps @@ -123,7 +123,7 @@ Pour collecter des informations sur le cluster DC/OS (par exemple, le nom et l Invoke-WebRequest -Uri http://localhost/mesos/master/slaves ``` -Vous déployez les conteneurs au format Docker via Marathon à l’aide d’un fichier JSON décrivant le déploiement souhaité. L’exemple suivant permet de déployer le conteneur Nginx en liant le port 80 de l’agent DC/OS au port 80 du conteneur. +Vous déployez les conteneurs au format Docker via Marathon à l’aide d’un fichier JSON décrivant le déploiement souhaité. L’exemple ci-après déploie le conteneur Nginx en liant le port 80 de l’agent DC/OS au port 80 du conteneur. ```json { @@ -159,7 +159,7 @@ Vous pouvez également utiliser l’API Marathon pour diminuer ou augmenter la t Exécutez la commande suivante pour augmenter la taille des instances de l’application. > [!NOTE] -> L’URI sera http://localhost/marathon/v2/apps/, suivi de l’ID de l’application que vous souhaitez mettre à l’échelle. Si vous utilisiez l’exemple Nginx fourni ici, l’URI serait http://localhost/marathon/v2/apps/nginx. +> L’URI est http://localhost/marathon/v2/apps/, suivi de l’ID de l’application que vous souhaitez mettre à l’échelle. Si vous utilisiez l’exemple Nginx fourni ici, l’URI serait http://localhost/marathon/v2/apps/nginx. > > diff --git a/articles/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started.md b/articles/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started.md index 79f4ec49367..b3d70799611 100644 --- a/articles/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started.md +++ b/articles/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started.md @@ -12,11 +12,11 @@ ms.devlang: na ms.topic: get-started-article ms.tgt_pltfrm: na ms.workload: big-data -ms.date: 05/16/2016 +ms.date: 12/08/2016 ms.author: edmaca translationtype: Human Translation -ms.sourcegitcommit: bfc8a774ebaaae7dbf1018614681134a5b10a769 -ms.openlocfilehash: 7938e0c2f0363bcce51375ddab9c68e8e8068186 +ms.sourcegitcommit: 3c8406efd9d716df56ed3ca10fc596684945c2f2 +ms.openlocfilehash: 3281b001aeab42aace951b5bdd5d4ec901de396f --- @@ -28,19 +28,19 @@ Découvrez comment installer Data Lake Tools pour Visual Studio et utiliser Data U-SQL est un langage hyper évolutif et hautement extensible conçu pour préparer, transformer et analyser toutes les données dans le lac de données et au-delà. Pour plus d'informations, consultez [Référence U-SQL](http://go.microsoft.com/fwlink/p/?LinkId=691348). ## Configuration requise -* **Visual Studio 2015, Visual Studio 2013 mise à jour 4 ou Visual Studio 2012. Les éditions Enterprise (Ultimate/Premium), Professional et Community sont prises en charge ; l’édition Express n’est pas prise en charge. Visual Studio « 15 » n’est actuellement pas pris en charge et nous y travaillons.** +* **Visual Studio 2015, Visual Studio 2013 mise à jour 4 ou Visual Studio 2012. Les éditions Enterprise (Ultimate/Premium), Professional et Community sont prises en charge ; l’édition Express n’est pas prise en charge. Visual Studio 2017 n’est pas pris en charge pour l’instant.** * **Kit de développement logiciel (SDK) Microsoft Azure pour .NET version 2.7.1 ou ultérieure**. Installez-le avec [Web Platform Installer](http://www.microsoft.com/web/downloads/platform.aspx). * **[Data Lake Tools pour Visual Studio](http://aka.ms/adltoolsvs)**. Une fois les outils Data Lake pour Visual Studio installés, vous verrez un nœud « Data Lake Analytics » dans l’Explorateur de serveurs sous le nœud « Azure » (vous pouvez ouvrir l’Explorateur de serveurs en appuyant sur Ctrl+Alt+S). -* **Consultez les deux sections suivantes dans [Prise en main d’Azure Data Lake Analytics à l’aide du portail Azure](data-lake-analytics-get-started-portal.md)**. - * [Créer un compte Azure Data Lake Analytics](data-lake-analytics-get-started-portal.md#create-data-lake-analytics-account). - * [Télécharger SearchLog.tsv sur le compte Data Lake Storage par défaut](data-lake-analytics-get-started-portal.md#prepare-source-data). +* **Compte Data Lake Analytics et exemples de données** Data Lake Tools ne prend pas en charge la création de comptes Data Lake Analytics. Vous pouvez créer un compte avec le Portail Azure, Azure PowerShell, le Kit de développement logiciel (SDK) .NET ou l’interface de ligne de commande Azure. +Pour vous faciliter la tâche, un exemple de script PowerShell pour la création d’un service Data Lake Analytics et le chargement du fichier de données source vers le serveur est fourni dans [Annexe A - Exemple PowerShell pour la préparation du didacticiel](data-lake-analytics-data-lake-tools-get-started.md#appx-a-powershell-sample-for-preparing-the-tutorial). - Pour votre commodité, vous pouvez trouver un exemple de script PowerShell pour la création d’un service Data Lake Analytics et le téléchargement d’un fichier de données source dans [Annexe A - Exemple PowerShell pour la préparation du didacticiel](data-lake-analytics-data-lake-tools-get-started.md#appx-a-powershell-sample-for-preparing-the-tutorial). + En option, vous pouvez parcourir les deux sections ci-après de l’article [Prise en main d’Azure Data Lake Analytics à l’aide du Portail Azure](data-lake-analytics-get-started-portal.md) pour créer votre compte et charger les données manuellement : - Data Lake Tools ne prend pas en charge la création de comptes Data Lake Analytics. Par conséquent, vous devez le créer avec le portail Azure, Azure PowerShell, le Kit de développement logiciel (SDK) .NET ou l’interface de ligne de commande Azure. Pour lancer une tâche Data Lake Analytics, vous aurez besoin de données. Bien que Data Lake Tools prenne en charge le téléchargement de données, vous allez utiliser le portail pour télécharger les exemples de données, ce qui facilitera la progression dans ce didacticiel. + 1. [Créer un compte Azure Data Lake Analytics](data-lake-analytics-get-started-portal.md#create-data-lake-analytics-account). + 2. [Télécharger SearchLog.tsv sur le compte Data Lake Storage par défaut](data-lake-analytics-get-started-portal.md#prepare-source-data). ## Connexion à Azure **Se connecter à Data Lake Analytics** @@ -270,6 +270,8 @@ Pour commencer à utiliser Data Lake Analytics à l'aide de différents outils, * [Prise en main de Data Lake Analytics à l'aide du Kit de développement logiciel (SDK) .NET](data-lake-analytics-get-started-net-sdk.md) * [Débogage de travaux U-SQL](data-lake-analytics-debug-u-sql-jobs.md) +Pour découvrir les outils Data Lake pour Visual Studio Code, consultez la page [Use the Azure Data Lake Tools for Visual Studio Code (Utiliser les outils Azure Data Lake pour Visual Studio Code)](data-lake-analytics-data-lake-tools-for-vscode.md). + Pour afficher d’autres rubriques sur le développement : * [Analyser les journaux web à l'aide de Data Lake Analytics](data-lake-analytics-analyze-weblogs.md) @@ -350,6 +352,6 @@ Le script PowerShell ci-après prépare un compte Azure Data Lake Analytics et l - + diff --git a/articles/documentdb/documentdb-dotnetcore-get-started.md b/articles/documentdb/documentdb-dotnetcore-get-started.md new file mode 100644 index 00000000000..e45c9c3594a --- /dev/null +++ b/articles/documentdb/documentdb-dotnetcore-get-started.md @@ -0,0 +1,565 @@ +--- +title: "Didacticiel NoSQL : kit de développement logiciel (SDK) .NET Core de DocumentDB | Microsoft Docs" +description: "Un didacticiel NoSQL qui crée une application de base de données en ligne et de console #C à l’aide du Kit de développement logiciel (SDK) .NET Core de DocumentDB. DocumentDB est une base de données NoSQL pour JSON." +keywords: "didacticiel nosql, base de données en ligne, application console c#" +services: documentdb +documentationcenter: .net +author: arramac +manager: jhubbard +editor: monicar +ms.assetid: 9f93e276-9936-4efb-a534-a9889fa7c7d2 +ms.service: documentdb +ms.workload: data-services +ms.tgt_pltfrm: na +ms.devlang: dotnet +ms.topic: hero-article +ms.date: 12/09/2016 +ms.author: arramac +translationtype: Human Translation +ms.sourcegitcommit: 269d0a0c72d6509b91d7cc8fcffb6641006026f4 +ms.openlocfilehash: 9323eb95ec014a1cc57daa8433e87f9d68b949f5 + + +--- +# Didacticiel NoSQL : générer une application de console C# DocumentDB sur .NET Core +> [!div class="op_single_selector"] +> * [.NET](documentdb-get-started.md) +> * [.NET Core](documentdb-dotnetcore-get-started.md) +> * [Node.JS](documentdb-nodejs-get-started.md) +> * [C++](documentdb-cpp-get-started.md) +> +> + +Bienvenue dans le didacticiel NoSQL pour le Kit de développement logiciel (SDK) .NET Core d’Azure DocumentDB ! À la fin de ce didacticiel, vous disposerez d’une application console qui crée et interroge des ressources DocumentDB. + +Nous allons aborder les points suivants : + +* Création et connexion à un compte DocumentDB +* Configuration de votre solution Visual Studio +* Création d’une base de données en ligne +* Création d’une collection +* Création de documents JSON +* Interrogation de la collection +* Remplacement d'un document +* Suppression d’un document +* Suppression de la base de données + +Vous n’avez pas le temps ? Ne vous inquiétez pas ! La solution complète est disponible sur [GitHub](https://github.com/Azure-Samples/documentdb-dotnet-core-getting-started). Pour obtenir des instructions rapides, allez à la section [Obtenir la solution complète](#GetSolution) . + +À la fin, utilisez les boutons de vote en haut ou en bas de cette page pour nous faire part de vos commentaires. Si vous souhaitez que nous vous contactions directement, n’hésitez pas à inclure votre adresse de messagerie dans vos commentaires. + +Commençons dès maintenant ! + +## Composants requis +Vérifiez que vous disposez des éléments suivants : + +* Un compte Azure actif. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un [compte gratuit](https://azure.microsoft.com/free/). + * Vous pouvez également utiliser [l’émulateur Azure DocumentDB](documentdb-nosql-local-emulator.md) pour ce didacticiel. +* [Visual Studio 2015 Update 3](https://go.microsoft.com/fwlink/?LinkId=691129) et [.NET Core 1.0.1 - VS 2015 Tooling Preview 2](https://go.microsoft.com/fwlink/?LinkID=827546) + * Si vous travaillez sous Mac OS ou Linux, vous pouvez développer des applications .NET Core à partir de la ligne de commande en installant le [kit de développement logiciel (SDK) .NET Core](https://www.microsoft.com/net/core#macos) pour la plateforme de votre choix. + * Si vous travaillez sous Windows, vous pouvez développer des applications .NET Core à partir de la ligne de commande en installant le [kit de développement logiciel (SDK) .NET Core](https://www.microsoft.com/net/core#windows). + * Vous pouvez utiliser votre propre éditeur, ou télécharger [Visual Studio Code](https://code.visualstudio.com/) qui est disponible gratuitement et fonctionne sous Windows, Linux et Mac OS. + +## Étape 1 : créer un compte DocumentDB +Créons un compte DocumentDB. Si vous avez déjà un compte que vous souhaitez utiliser, vous pouvez passer directement à l’étape [Configurer votre solution Visual Studio](#SetupVS). Si vous utilisez l’émulateur DocumentDB, suivez les étapes de la section [Émulateur Azure DocumentDB](documentdb-nosql-local-emulator.md) pour le configurer et passez directement à l’étape [Configurer votre solution Visual Studio](#SetupVS). + +[!INCLUDE [documentdb-create-dbaccount](../../includes/documentdb-create-dbaccount.md)] + +## Étape 2 : configurer votre solution Visual Studio +1. Ouvrez **Visual Studio 2015** sur votre ordinateur. +2. Dans le menu **Fichier**, sélectionnez **Nouveau**, puis choisissez **Projet**. +3. Dans la boîte de dialogue **Nouveau projet**, sélectionnez **Modèles** / **Visual C#** / **.NET Core**/**Application console (.NET Core)**, nommez votre projet, puis cliquez sur **OK**. + ![Capture d’écran de la fenêtre Nouveau projet](./media/documentdb-get-started/nosql-tutorial-new-project-2.png) +4. Dans l' **Explorateur de solutions**, cliquez avec le bouton droit sur votre nouvelle application console, qui se trouve sous votre solution Visual Studio. +5. Ensuite, sans quitter le menu, cliquez sur **Gérer les packages NuGet...** + ![Capture d’écran du menu contextuel du projet](./media/documentdb-get-started/nosql-tutorial-manage-nuget-pacakges.png) +6. Dans l’onglet **NuGet**, cliquez sur **Parcourir** et tapez **azure documentdb** dans la zone de recherche. +7. Dans les résultats, recherchez **Microsoft.Azure.DocumentDB.Core** et cliquez sur **Installer**. + L’ID de package de la bibliothèque cliente DocumentDB est [Microsoft.Azure.DocumentDB.Core](https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.Core) + +Parfait ! L’installation étant terminée, nous pouvons passer à l’écriture du code. Vous trouverez le projet de code complet de ce didacticiel dans [GitHub](https://github.com/Azure-Samples/documentdb-dotnet-core-getting-started). + +## Étape 3 : se connecter à un compte DocumentDB +Tout d’abord, ajoutez ces références au début de votre application C#, dans le fichier Program.cs : + + using System; + using System.Linq; + using System.Threading.Tasks; + + // ADD THIS PART TO YOUR CODE + using System.Net; + using Microsoft.Azure.Documents; + using Microsoft.Azure.Documents.Client; + using Newtonsoft.Json; + +> [!IMPORTANT] +> Pour pouvoir exécuter ce didacticiel NoSQL, veillez à ajouter les dépendances ci-dessus. +> +> + +Maintenant, ajoutez ces deux constantes et votre variable *client* dans votre classe publique *Program*. + + public class Program + { + // ADD THIS PART TO YOUR CODE + private const string EndpointUri = ""; + private const string PrimaryKey = ""; + private DocumentClient client; + +Ensuite, accédez au [portail Azure](https://portal.azure.com) pour récupérer votre URI et votre clé primaire. L’URI et la clé primaire de DocumentDB sont nécessaires pour que votre application puisse se connecter et que DocumentDB approuve la connexion de votre application. + +Dans le portail Azure, accédez à votre compte DocumentDB, puis cliquez sur **Clés**. + +Copiez l’URI à partir du portail et collez-le dans `` dans le fichier program.cs. Ensuite, copiez la clé primaire à partir du portail, puis collez-la dans ``. Si vous utilisez l’émulateur Azure DocumentDB, utilisez `https://localhost:443` comme point de terminaison et la clé d’autorisation bien définie dans [How to develop using the DocumentDB Emulator](documentdb-nosql-local-emulator.md) (Comment développer à l’aide de l’émulateur DocumentDB). + +![Capture d’écran du portail Azure utilisée par le didacticiel NoSQL pour créer une application de console C#. Présente un compte DocumentDB, avec le hub ACTIF et le bouton CLÉS mis en surbrillance dans le panneau du compte DocumentDB, et les valeurs d’URI, de CLÉ PRIMAIRE et de CLÉ SECONDAIRE mises en surbrillance dans le panneau Clés][keys] + +Nous allons démarrer l’application de prise en main en créant une instance de **DocumentClient**. + +Sous la méthode **Main**, ajoutez la nouvelle tâche asynchrone appelée **GetStartedDemo** qui va instancier notre nouveau **DocumentClient**. + + static void Main(string[] args) + { + } + + // ADD THIS PART TO YOUR CODE + private async Task GetStartedDemo() + { + this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey); + } + +Ajoutez le code suivant pour exécuter votre tâche asynchrone à partir de la méthode **Main** . La méthode **Main** va intercepter les exceptions et les consigner dans la console. + + static void Main(string[] args) + { + // ADD THIS PART TO YOUR CODE + try + { + Program p = new Program(); + p.GetStartedDemo().Wait(); + } + catch (DocumentClientException de) + { + Exception baseException = de.GetBaseException(); + Console.WriteLine("{0} error occurred: {1}, Message: {2}", de.StatusCode, de.Message, baseException.Message); + } + catch (Exception e) + { + Exception baseException = e.GetBaseException(); + Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message); + } + finally + { + Console.WriteLine("End of demo, press any key to exit."); + Console.ReadKey(); + } + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous êtes connecté à un compte DocumentDB. Jetons maintenant un œil à l’utilisation de ressources DocumentDB. + +## Étape 4 : créer une base de données +Avant d'ajouter le code permettant de créer une base de données, ajoutez une méthode d'assistance pour l'écriture sur la console. + +Copiez et collez la méthode **WriteToConsoleAndPromptToContinue** sous la méthode **GetStartedDemo**. + + // ADD THIS PART TO YOUR CODE + private void WriteToConsoleAndPromptToContinue(string format, params object[] args) + { + Console.WriteLine(format, args); + Console.WriteLine("Press any key to continue ..."); + Console.ReadKey(); + } + +Votre [base de données](documentdb-resources.md#databases) DocumentDB peut être créée à l’aide de la méthode [CreateDatabaseAsync](https://msdn.microsoft.com/library/microsoft.azure.documents.client.documentclient.createdatabaseasync.aspx) de la classe **DocumentClient**. Une base de données est le conteneur logique de stockage de documents JSON partitionné entre les collections. + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de la création du client. Ce faisant, vous créez la base de données *FamilyDB*. + + private async Task GetStartedDemo() + { + this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey); + + // ADD THIS PART TO YOUR CODE + await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = "FamilyDB_oa" }); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez créé une base de données DocumentDB. + +## Étape 5 : créer une collection +> [!WARNING] +> **CreateDocumentCollectionAsync** crée une collection avec un débit réservé, ce qui a des conséquences sur la tarification. Pour plus d'informations, visitez notre [page de tarification](https://azure.microsoft.com/pricing/details/documentdb/). +> +> + +Vous pouvez créer une [collection](documentdb-resources.md#collections) à l’aide de la méthode [CreateDocumentCollectionAsync](https://msdn.microsoft.com/library/microsoft.azure.documents.client.documentclient.createdocumentcollectionasync.aspx) de la classe **DocumentClient**. Une collection est un conteneur de documents JSON. Elle est associée à une logique d'application JavaScript. + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de la création de la base de données. Ce faisant, vous créez la collection de documents *FamilyCollection_oa*. + + this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey); + + await this.CreateDatabaseIfNotExists("FamilyDB_oa"); + + // ADD THIS PART TO YOUR CODE + await this.CreateDocumentCollectionIfNotExists("FamilyDB_oa", "FamilyCollection_oa"); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez créé une collection de documents DocumentDB. + +## Étape 6 : Création de documents JSON +Vous pouvez créer un [document](documentdb-resources.md#documents) à l’aide de la méthode [CreateDocumentAsync](https://msdn.microsoft.com/library/microsoft.azure.documents.client.documentclient.createdocumentasync.aspx) de la classe **DocumentClient**. Les documents correspondent à du contenu JSON (arbitraire) défini par l'utilisateur. Nous pouvons maintenant insérer un ou plusieurs documents. Si vous disposez déjà de données que vous souhaitez stocker dans votre base de données, vous pouvez utiliser de l’ [outil de migration de données](documentdb-import-data.md)de DocumentDB. + +Nous devons tout d’abord créer une classe **Family** représentant les objets stockés dans DocumentDB dans cet exemple. Nous allons également créer les sous-classes **Parent**, **Child**, **Pet** et **Address** qui seront utilisées dans **Family**. Notez que les documents doivent avoir une propriété **Id** sérialisée comme **id** dans JSON. Créez ces classes en ajoutant les sous-classes internes suivantes après la méthode **GetStartedDemo** . + +Copiez et collez les classes **Family**, **Parent**, **Child**, **Pet** et **Address** sous la méthode **WriteToConsoleAndPromptToContinue**. + + private void WriteToConsoleAndPromptToContinue(string format, params object[] args) + { + Console.WriteLine(format, args); + Console.WriteLine("Press any key to continue ..."); + Console.ReadKey(); + } + + // ADD THIS PART TO YOUR CODE + public class Family + { + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + public string LastName { get; set; } + public Parent[] Parents { get; set; } + public Child[] Children { get; set; } + public Address Address { get; set; } + public bool IsRegistered { get; set; } + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } + } + + public class Parent + { + public string FamilyName { get; set; } + public string FirstName { get; set; } + } + + public class Child + { + public string FamilyName { get; set; } + public string FirstName { get; set; } + public string Gender { get; set; } + public int Grade { get; set; } + public Pet[] Pets { get; set; } + } + + public class Pet + { + public string GivenName { get; set; } + } + + public class Address + { + public string State { get; set; } + public string County { get; set; } + public string City { get; set; } + } + +Copiez et collez la méthode **CreateFamilyDocumentIfNotExists** sous votre méthode **CreateDocumentCollectionIfNotExists**. + + // ADD THIS PART TO YOUR CODE + private async Task CreateFamilyDocumentIfNotExists(string databaseName, string collectionName, Family family) + { + try + { + await this.client.ReadDocumentAsync(UriFactory.CreateDocumentUri(databaseName, collectionName, family.Id)); + this.WriteToConsoleAndPromptToContinue("Found {0}", family.Id); + } + catch (DocumentClientException de) + { + if (de.StatusCode == HttpStatusCode.NotFound) + { + await this.client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), family); + this.WriteToConsoleAndPromptToContinue("Created Family {0}", family.Id); + } + else + { + throw; + } + } + } + +Insérez ensuite deux documents, un pour la famille Andersen, l’autre pour la famille Wakefield. + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de la création de la collection de documents. + + await this.CreateDatabaseIfNotExists("FamilyDB_oa"); + + await this.CreateDocumentCollectionIfNotExists("FamilyDB_oa", "FamilyCollection_oa"); + + // ADD THIS PART TO YOUR CODE + Family andersenFamily = new Family + { + Id = "Andersen.1", + LastName = "Andersen", + Parents = new Parent[] + { + new Parent { FirstName = "Thomas" }, + new Parent { FirstName = "Mary Kay" } + }, + Children = new Child[] + { + new Child + { + FirstName = "Henriette Thaulow", + Gender = "female", + Grade = 5, + Pets = new Pet[] + { + new Pet { GivenName = "Fluffy" } + } + } + }, + Address = new Address { State = "WA", County = "King", City = "Seattle" }, + IsRegistered = true + }; + + await this.CreateFamilyDocumentIfNotExists("FamilyDB_oa", "FamilyCollection_oa", andersenFamily); + + Family wakefieldFamily = new Family + { + Id = "Wakefield.7", + LastName = "Wakefield", + Parents = new Parent[] + { + new Parent { FamilyName = "Wakefield", FirstName = "Robin" }, + new Parent { FamilyName = "Miller", FirstName = "Ben" } + }, + Children = new Child[] + { + new Child + { + FamilyName = "Merriam", + FirstName = "Jesse", + Gender = "female", + Grade = 8, + Pets = new Pet[] + { + new Pet { GivenName = "Goofy" }, + new Pet { GivenName = "Shadow" } + } + }, + new Child + { + FamilyName = "Miller", + FirstName = "Lisa", + Gender = "female", + Grade = 1 + } + }, + Address = new Address { State = "NY", County = "Manhattan", City = "NY" }, + IsRegistered = false + }; + + await this.CreateFamilyDocumentIfNotExists("FamilyDB_oa", "FamilyCollection_oa", wakefieldFamily); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez créé deux collections de documents DocumentDB. + +![Diagramme illustrant la relation hiérarchique existant entre le compte, la base de données en ligne, la collection et les documents utilisés par le didacticiel NoSQL pour créer une application de console C#](./media/documentdb-get-started/nosql-tutorial-account-database.png) + +## Étape 7 : interroger les ressources DocumentDB +DocumentDB prend en charge les [requêtes](documentdb-sql-query.md) enrichies sur les documents JSON stockés dans chaque collection. L'exemple de code suivant affiche différentes requêtes (à l'aide de la syntaxe SQL de DocumentDB et de LINQ) que nous pouvons exécuter sur les documents insérés à l'étape précédente. + +Copiez et collez la méthode **ExecuteSimpleQuery** sous votre méthode **CreateFamilyDocumentIfNotExists**. + + // ADD THIS PART TO YOUR CODE + private void ExecuteSimpleQuery(string databaseName, string collectionName) + { + // Set some common query options + FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 }; + + // Here we find the Andersen family via its LastName + IQueryable familyQuery = this.client.CreateDocumentQuery( + UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), queryOptions) + .Where(f => f.LastName == "Andersen"); + + // The query is executed synchronously here, but can also be executed asynchronously via the IDocumentQuery interface + Console.WriteLine("Running LINQ query..."); + foreach (Family family in familyQuery) + { + Console.WriteLine("\tRead {0}", family); + } + + // Now execute the same query via direct SQL + IQueryable familyQueryInSql = this.client.CreateDocumentQuery( + UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), + "SELECT * FROM Family WHERE Family.LastName = 'Andersen'", + queryOptions); + + Console.WriteLine("Running direct SQL query..."); + foreach (Family family in familyQueryInSql) + { + Console.WriteLine("\tRead {0}", family); + } + + Console.WriteLine("Press any key to continue ..."); + Console.ReadKey(); + } + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de la création du deuxième document. + + await this.CreateFamilyDocumentIfNotExists("FamilyDB_oa", "FamilyCollection_oa", wakefieldFamily); + + // ADD THIS PART TO YOUR CODE + this.ExecuteSimpleQuery("FamilyDB_oa", "FamilyCollection_oa"); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez effectué une requête sur une collection DocumentDB. + +Le diagramme suivant montre comment la syntaxe de requête SQL de DocumentDB est appelée sur la collection que vous avez créée. C'est par ailleurs cette même logique qui s'applique à la requête LINQ. + +![Diagramme illustrant l’étendue et la signification de la requête utilisée par le didacticiel NoSQL pour créer une application de console C#](./media/documentdb-get-started/nosql-tutorial-collection-documents.png) + +Le mot clé [FROM](documentdb-sql-query.md#from-clause) est facultatif dans la requête, car les requêtes DocumentDB sont déjà étendues à une collection unique. Par conséquent, « FROM Families f » peut être remplacé par «FROM root r » ou par tout autre nom de variable que vous choisissez. DocumentDB déduira que Families, root ou le nom de variable choisi fait par défaut référence à la collection actuelle. + +## Étape 8 : remplacer le document JSON +DocumentDB prend en charge le remplacement des documents JSON. + +Copiez et collez la méthode **ReplaceFamilyDocument** sous votre méthode **ExecuteSimpleQuery**. + + // ADD THIS PART TO YOUR CODE + private async Task ReplaceFamilyDocument(string databaseName, string collectionName, string familyName, Family updatedFamily) + { + try + { + await this.client.ReplaceDocumentAsync(UriFactory.CreateDocumentUri(databaseName, collectionName, familyName), updatedFamily); + this.WriteToConsoleAndPromptToContinue("Replaced Family {0}", familyName); + } + catch (DocumentClientException de) + { + throw; + } + } + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de l’exécution de la requête. Après avoir remplacé le document, cela exécutera à nouveau la même requête pour afficher le document modifié. + + await this.CreateFamilyDocumentIfNotExists("FamilyDB_oa", "FamilyCollection_oa", wakefieldFamily); + + this.ExecuteSimpleQuery("FamilyDB_oa", "FamilyCollection_oa"); + + // ADD THIS PART TO YOUR CODE + // Update the Grade of the Andersen Family child + andersenFamily.Children[0].Grade = 6; + + await this.ReplaceFamilyDocument("FamilyDB_oa", "FamilyCollection_oa", "Andersen.1", andersenFamily); + + this.ExecuteSimpleQuery("FamilyDB_oa", "FamilyCollection_oa"); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez remplacé un document DocumentDB. + +## Étape 9 : supprimer le document JSON +DocumentDB prend en charge la suppression des documents JSON. + +Copiez et collez la méthode **DeleteFamilyDocument** sous votre méthode **ReplaceFamilyDocument**. + + // ADD THIS PART TO YOUR CODE + private async Task DeleteFamilyDocument(string databaseName, string collectionName, string documentName) + { + try + { + await this.client.DeleteDocumentAsync(UriFactory.CreateDocumentUri(databaseName, collectionName, documentName)); + Console.WriteLine("Deleted Family {0}", documentName); + } + catch (DocumentClientException de) + { + throw; + } + } + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** en dessous de l’exécution de la deuxième requête. + + await this.ReplaceFamilyDocument("FamilyDB_oa", "FamilyCollection_oa", "Andersen.1", andersenFamily); + + this.ExecuteSimpleQuery("FamilyDB_oa", "FamilyCollection_oa"); + + // ADD THIS PART TO CODE + await this.DeleteFamilyDocument("FamilyDB_oa", "FamilyCollection_oa", "Andersen.1"); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez supprimé un document DocumentDB. + +## Étape 10 : supprimer la base de données +Supprimer la base de données créée revient à supprimer la base de données et toutes les ressources enfants (collections, documents, etc.). + +Copiez et collez le code suivant dans votre méthode **GetStartedDemo** sous la suppression du document, pour supprimer la base de données et toutes ses ressources enfants. + + this.ExecuteSimpleQuery("FamilyDB_oa", "FamilyCollection_oa"); + + await this.DeleteFamilyDocument("FamilyDB_oa", "FamilyCollection_oa", "Andersen.1"); + + // ADD THIS PART TO CODE + // Clean up/delete the database + await this.client.DeleteDatabaseAsync(UriFactory.CreateDatabaseUri("FamilyDB_oa")); + +Appuyez sur **F5** pour exécuter votre application. + +Félicitations ! Vous avez supprimé une base de données DocumentDB. + +## Étape 11 : exécuter votre application de console C# +Appuyez sur F5 dans Visual Studio pour générer l'application en mode débogage. + +La sortie de votre application de prise en main doit s’afficher. Celle-ci doit présenter les résultats des requêtes que nous avons ajoutées, qui doivent correspondre au texte d'exemple ci-dessous. + + Created FamilyDB_oa + Press any key to continue ... + Created FamilyCollection_oa + Press any key to continue ... + Created Family Andersen.1 + Press any key to continue ... + Created Family Wakefield.7 + Press any key to continue ... + Running LINQ query... + Read {"id":"Andersen.1","LastName":"Andersen","District":"WA5","Parents":[{"FamilyName":null,"FirstName":"Thomas"},{"FamilyName":null,"FirstName":"Mary Kay"}],"Children":[{"FamilyName":null,"FirstName":"Henriette Thaulow","Gender":"female","Grade":5,"Pets":[{"GivenName":"Fluffy"}]}],"Address":{"State":"WA","County":"King","City":"Seattle"},"IsRegistered":true} + Running direct SQL query... + Read {"id":"Andersen.1","LastName":"Andersen","District":"WA5","Parents":[{"FamilyName":null,"FirstName":"Thomas"},{"FamilyName":null,"FirstName":"Mary Kay"}],"Children":[{"FamilyName":null,"FirstName":"Henriette Thaulow","Gender":"female","Grade":5,"Pets":[{"GivenName":"Fluffy"}]}],"Address":{"State":"WA","County":"King","City":"Seattle"},"IsRegistered":true} + Replaced Family Andersen.1 + Press any key to continue ... + Running LINQ query... + Read {"id":"Andersen.1","LastName":"Andersen","District":"WA5","Parents":[{"FamilyName":null,"FirstName":"Thomas"},{"FamilyName":null,"FirstName":"Mary Kay"}],"Children":[{"FamilyName":null,"FirstName":"Henriette Thaulow","Gender":"female","Grade":6,"Pets":[{"GivenName":"Fluffy"}]}],"Address":{"State":"WA","County":"King","City":"Seattle"},"IsRegistered":true} + Running direct SQL query... + Read {"id":"Andersen.1","LastName":"Andersen","District":"WA5","Parents":[{"FamilyName":null,"FirstName":"Thomas"},{"FamilyName":null,"FirstName":"Mary Kay"}],"Children":[{"FamilyName":null,"FirstName":"Henriette Thaulow","Gender":"female","Grade":6,"Pets":[{"GivenName":"Fluffy"}]}],"Address":{"State":"WA","County":"King","City":"Seattle"},"IsRegistered":true} + Deleted Family Andersen.1 + End of demo, press any key to exit. + +Félicitations ! Vous avez terminé ce didacticiel NoSQL et que vous disposez d’une application de console C# qui fonctionne ! + +## Obtenir la solution complète du didacticiel NoSQL +Pour générer la solution GetStarted qui contient tous les exemples de cet article, vous devez avoir les éléments suivants : + +* Un compte Azure actif. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un [compte gratuit](https://azure.microsoft.com/free/). +* Un [compte DocumentDB][documentdb-create-account]. +* La solution [GetStarted](https://github.com/Azure-Samples/documentdb-dotnet-core-getting-started) disponible sur GitHub. + +Pour restaurer les références au Kit de développement logiciel (SDK) .NET Core de DocumentDB dans Visual Studio, cliquez avec le bouton droit sur la solution **GetStarted** dans l’Explorateur de solutions, puis cliquez sur **Activer la restauration des packages NuGet**. Ensuite, dans le fichier Program.cs, mettez à jour les valeurs pour EndpointUrl et AuthorizationKey comme décrit à la section [Se connecter à un compte DocumentDB](#Connect). + +## Étapes suivantes +* Vous voulez un exemple de didacticiel NoSQL ASP.NET MVC plus complexe ? Consultez [Création d'une application web avec ASP.NET MVC et DocumentDB](documentdb-dotnet-application.md). +* Vous souhaitez effectuer un test des performances et de la mise à l’échelle avec DocumentDB ? Consultez la page [Test des performances et de la mise à l’échelle avec Azure DocumentDB](documentdb-performance-testing.md) +* Apprenez à [surveiller un compte DocumentDB](documentdb-monitor-accounts.md). +* Exécutez des requêtes sur notre exemple de dataset dans le [Query Playground](https://www.documentdb.com/sql/demo). +* Consultez la section Développer de la [page de documentation DocumentDB](https://azure.microsoft.com/documentation/services/documentdb/)pour découvrir plus en détail le modèle de programmation. + +[documentdb-create-account]: documentdb-create-account.md +[documentdb-manage]: documentdb-manage.md +[keys]: media/documentdb-get-started/nosql-tutorial-keys.png + + + + + + diff --git a/articles/expressroute/expressroute-locations.md b/articles/expressroute/expressroute-locations.md index 6aa733cc9df..17ecf09b0c1 100644 --- a/articles/expressroute/expressroute-locations.md +++ b/articles/expressroute/expressroute-locations.md @@ -12,11 +12,11 @@ ms.devlang: na ms.topic: get-started-article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 12/05/2016 +ms.date: 12/14/2016 ms.author: cherylmc translationtype: Human Translation -ms.sourcegitcommit: e4aa6b13e3f1060d97cfea70761ad2f1c109b0c0 -ms.openlocfilehash: 5a197d1444c75d9f6f8d7540ca3117d894d5836f +ms.sourcegitcommit: 9095cf61feaed43ac194a990bb5e387bb54fc00c +ms.openlocfilehash: 9431df5553666a8725bd840a5cea62b0b5e35653 --- @@ -26,7 +26,7 @@ Les tables de cet article offrent des informations sur les fournisseurs de conne ## Fournisseurs de connectivité ExpressRoute ExpressRoute est pris en charge dans tous les emplacements et régions Azure. La carte ci-dessous fournit une liste des régions Azure et des emplacements ExpressRoute. Les emplacements ExpressRoute se réfèrent à ceux où Microsoft s’associe à plusieurs fournisseurs de services. -![Carte géographique][0] +![Carte des emplacements][0] Vous aurez accès aux services Azure dans toutes les régions au sein d’une région géopolitique si vous êtes connecté à au moins un emplacement ExpressRoute dans la région géopolitique. @@ -37,7 +37,7 @@ Le tableau ci-dessous fournit une carte des régions Azure vers des emplacements | --- | --- | --- | | **Amérique du Nord** |Est des États-Unis, Ouest des États-Unis, Est des États-Unis 2, Centre des États-Unis, Centre-Sud des États-Unis, Centre-Nord des États-Unis, Centre du Canada, Est du Canada |Atlanta, Chicago, Dallas, Las Vegas, Los Angeles, New York, Seattle, Silicon Valley, Washington DC, Montréal+, Québec+, Toronto | | **Amérique du Sud** |Sud du Brésil |São Paulo | -| **Europe** |Europe du Nord, Europe de l’Ouest, Ouest du Royaume-Uni, Sud du Royaume-Uni |Amsterdam, Dublin, Londres, Newport(Pays de Galles)+, Paris | +| **Europe** |Europe du Nord, Europe de l’Ouest, Ouest du Royaume-Uni, Sud du Royaume-Uni |Amsterdam, Dublin, Londres, Newport (Pays de Galles), Paris | | **Asie** |Asie orientale, Asie du Sud-Est |Hong Kong, Singapour | | **Japon** |Ouest du Japon, Est du Japon |Osaka, Tokyo | | **Australie** |Sud-est de l’Australie |Est de l’Australie |Melbourne, Sydney | @@ -85,7 +85,7 @@ La connectivité entre les régions géopolitiques n’est pas prise en charge d | **[Level 3 Communications](http://your.level3.com/LP=882?WT.tsrc=02192014LP882AzureVanityAzureText)** |Pris en charge |Pris en charge |Amsterdam, Chicago, Dallas, Las Vegas+, Londres, Seattle, Silicon Valley, Washington DC | | **[Megaport](https://www.megaport.com/services/microsoft-expressroute/)** |Pris en charge |Pris en charge |Dallas, Hong Kong, Las Vegas, Los Angeles, Melbourne, New York, Seattle, Singapour, Sydney, Toronto, Washington DC | | **MTN** |Pris en charge |Pris en charge |Londres | -| **Next Generation Data** |Pris en charge |Bientôt disponible |Newport (Nouvelle-Galles du Sud) | +| **[Next Generation Data](http://www.nextgenerationdata.co.uk/ngd-cloud-gateway/)** |Pris en charge |Bientôt disponible |Newport (Nouvelle-Galles du Sud) | | **NEXTDC** |Pris en charge |Pris en charge |Melbourne, Sydney | | **NTT Communications** |Pris en charge |Pris en charge |Londres, Los Angeles, Osaka, Singapour, Tokyo, Washington DC | | **[Orange](http://www.orange-business.com/en/products/business-vpn-galerie)** |Pris en charge |Pris en charge |Amsterdam, Hong Kong, Londres, Silicon Valley, Singapour, Sydney, Washington DC | @@ -148,8 +148,11 @@ Si votre fournisseur de connectivité ne se trouve pas dans la liste des section | **Fournisseur de connectivité** | **Microsoft Exchange** | **Emplacements** | | --- | --- | --- | | **[1CLOUDSTAR](http://www.1cloudstar.com/service/cloudconnect-azure-expressroute/)** |Equinix |Singapour | -| **Alaska Communications** |Equinix |Seattle | +| **[Alaska Communications](http://www.alaskacommunications.com/For-Your-Business/Direct-Cloud-Service)** |Equinix |Seattle | +| **[Exponential E](http://www.exponential-e.com/services/connectivity-services/cloud-connect-exchange)** | Equinix | Londres | | **[Lightower](http://www.lightower.com/network-solutions/cloud-connect/#microsoft-azure)** |Equinix |New York, Washington DC | +| **[Macquarie](https://macquariegovernment.com/secure-cloud/secure-cloud-exchange/)** | Megaport | Sydney | +| **[Masergy](https://www.masergy.com/solutions/hybrid-networking/cloud-marketplace/microsoft-azure)** | Equinix | Washington DC | | **[XO Communications](http://www.xo.com/)** |Equinix |Silicon Valley | ## Intégrateurs système ExpressRoute @@ -164,6 +167,7 @@ L’activation de la connectivité privée pour l’adapter à vos besoins peut | **[Perficient](http://www.perficient.com/Partners/Microsoft/Cloud/Azure-ExpressRoute)** |FR | | **[Project Leadership](http://www.projectleadership.net/azure)** |FR | + ## Étapes suivantes * Pour plus d'informations sur ExpressRoute, consultez le [FAQ sur ExpressRoute](expressroute-faqs.md). * Assurez-vous que toutes les conditions préalables sont remplies. Consultez la page [Configuration requise pour ExpressRoute](expressroute-prerequisites.md). @@ -173,6 +177,6 @@ L’activation de la connectivité privée pour l’adapter à vos besoins peut - + diff --git a/articles/media-services/media-services-portal-vod-get-started.md b/articles/media-services/media-services-portal-vod-get-started.md index 504a10dfb56..cb817327445 100644 --- a/articles/media-services/media-services-portal-vod-get-started.md +++ b/articles/media-services/media-services-portal-vod-get-started.md @@ -15,8 +15,8 @@ ms.topic: get-started-article ms.date: 08/30/2016 ms.author: juliako translationtype: Human Translation -ms.sourcegitcommit: dcda8b30adde930ab373a087d6955b900365c4cc -ms.openlocfilehash: 473ca94a4b081aee69fa06718790acd61a8b51b3 +ms.sourcegitcommit: ff663f40507547ba561053b5c9a7a8ce93fbf213 +ms.openlocfilehash: 70071f8d1b70d062aec1ea4fd35b8acb3512bab6 --- @@ -80,9 +80,9 @@ Vous avez besoin du nom de compte et des informations de clé primaire pour acc ![Media Services Clés](./media/media-services-portal-vod-get-started/media-services-keys.png) ## Configurer les points de terminaison de diffusion en continu -Lorsque vous utilisez Azure Media Services, la diffusion à vos clients de vidéos en continu à débit binaire adaptatif constitue l’un des scénarios les plus courants. Media Services prend en charge les technologies de diffusion en continu à débit binaire adaptatif suivantes : HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH et HDS (pour licences Adobe PrimeTime/Access uniquement). +Lorsque vous utilisez Azure Media Services, la diffusion à vos clients de vidéos en continu à débit binaire adaptatif constitue l’un des scénarios les plus courants. Media Services prend en charge les technologies de streaming à débit adaptatif suivantes : HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH. -Media Services assure l’empaquetage dynamique, qui permet de distribuer un contenu encodé en MP4 à un débit binaire adaptatif dans un format pris en charge par Media Services (MPEG DASH, HLS, Smooth Streaming, HDS), sans avoir à stocker de versions pré-empaquetées de chacun de ces formats de diffusion en continu. +Media Services assure l’empaquetage dynamique, qui vous permet de distribuer juste-à-temps un contenu encodé en MP4 à débit adaptatif dans un format de diffusion en continu pris en charge par Media Services (MPEG DASH, HLS, Smooth Streaming), sans qu’il vous soit nécessaire de stocker des versions pré-empaquetées de chacun de ces formats. Pour tirer parti de l’empaquetage dynamique, vous devez effectuer les opérations suivantes : @@ -128,9 +128,9 @@ Pour diffuser des vidéos en continu à l’aide d’Azure Media Services, vous Une fois le chargement terminé, le nouvel élément multimédia s’affiche dans la fenêtre **Éléments multimédias** . ## Encoder des éléments multimédias -Lorsque vous travaillez avec Azure Media Services, un des scénarios les plus courants est la diffusion de contenu à débit adaptatif à vos clients. Media Services prend en charge les technologies de diffusion en continu à débit binaire adaptatif suivantes : HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH et HDS (pour licences Adobe PrimeTime/Access uniquement). Pour préparer vos vidéos au streaming à débit adaptatif, vous devez encoder votre vidéo source en fichiers à débit binaire multiple. Vous devez utiliser **Media Encoder Standard** pour encoder vos vidéos. +Lorsque vous travaillez avec Azure Media Services, un des scénarios les plus courants est la diffusion de contenu à débit adaptatif à vos clients. Media Services prend en charge les technologies de streaming à débit adaptatif suivantes : HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH. Pour préparer vos vidéos au streaming à débit adaptatif, vous devez encoder votre vidéo source en fichiers à débit binaire multiple. Vous devez utiliser **Media Encoder Standard** pour encoder vos vidéos. -Media Services assure également l’empaquetage dynamique qui vous permet de diffuser des fichiers MP4 à débit binaire multiple dans les formats MPEG DASH, HLS, Smooth Streaming ou HDS, sans avoir à effectuer de réempaquetage dans ces formats. L’empaquetage dynamique vous permet de ne stocker et payer les fichiers que dans un seul format de stockage. Ensuite, Media Services crée et fournit la réponse appropriée en fonction des demandes des clients. +Media Services assure également l’empaquetage dynamique qui vous permet de diffuser des fichiers MP4 multidébit dans les formats de diffusion en continu MPEG DASH, HLS ou Smooth Streaming sans avoir à effectuer de ré-empaquetage dans ces formats. L’empaquetage dynamique vous permet de ne stocker et payer les fichiers que dans un seul format de stockage. Ensuite, Media Services crée et fournit la réponse appropriée en fonction des demandes des clients. Pour tirer parti de l’empaquetage dynamique, vous devez effectuer les opérations suivantes : diff --git a/articles/service-fabric/service-fabric-create-your-first-application-in-visual-studio.md b/articles/service-fabric/service-fabric-create-your-first-application-in-visual-studio.md index d4a037333be..139d7394c28 100644 --- a/articles/service-fabric/service-fabric-create-your-first-application-in-visual-studio.md +++ b/articles/service-fabric/service-fabric-create-your-first-application-in-visual-studio.md @@ -12,11 +12,11 @@ ms.devlang: dotNet ms.topic: hero-article ms.tgt_pltfrm: NA ms.workload: NA -ms.date: 10/26/2016 +ms.date: 12/14/2016 ms.author: ryanwi translationtype: Human Translation -ms.sourcegitcommit: e8b2379c750047bf2a4c7342815b5c3aab3883c6 -ms.openlocfilehash: a101ad134e15a0da5e6d3fd5cbf4ca051da34e86 +ms.sourcegitcommit: 6d8f489ac053db4898741671df73b6abfabeb0dd +ms.openlocfilehash: 76b6934950354f94f4f68e7cfef00e890d9391a6 --- @@ -41,7 +41,7 @@ La vidéo suivante vous guide à travers les étapes de ce didacticiel : > ## Création de l'application -Une application Service Fabric peut contenir un ou plusieurs services, chacun ayant un rôle précis pour la fourniture de la fonctionnalité d’application. Avec l’Assistant Nouveau projet, vous avez la possibilité de créer un projet d’application avec votre premier projet de service. Vous pouvez ajouter davantage de services plus tard. +Une application Service Fabric peut contenir un ou plusieurs services, chacun ayant un rôle précis pour la fourniture de la fonctionnalité d’application. Créez un projet d’application, en même temps que votre premier projet de service, à l’aide de l’Assistant Nouveau projet. Vous pourrez également ajouter d’autres services par la suite si vous le souhaitez. 1. Lancez Visual Studio en tant qu'administrateur. 2. Cliquez sur **Fichier > Nouveau projet > Cloud > Application Service Fabric**. @@ -91,7 +91,7 @@ Maintenant que vous disposez d’une application, essayez de l’exécuter. ![Détails de l’Observateur d’événements de diagnostic][6] - Le cluster local contient cinq nœuds hébergés sur un seul ordinateur. Il simule un cluster à cinq nœuds dans lequel les nœuds sont hébergés sur des machines distinctes. Examinons un des nœuds du cluster local pour simuler la perte d’un ordinateur tout en testant le débogueur Visual Studio. + Le cluster local contient cinq nœuds hébergés sur un seul ordinateur. Il simule un cluster à cinq nœuds dans lequel les nœuds sont hébergés sur des machines distinctes. Pour simuler la perte d’une machine tout en testant le débogueur Visual Studio, examinons l’un des nœuds du cluster local. > [!NOTE] > Les événements de diagnostic d’application émis par le modèle de projet utilisent la classe `ServiceEventSource` incluse. Pour plus d’informations, consultez l’article [Surveiller et diagnostiquer les services localement](service-fabric-diagnostics-how-to-monitor-and-diagnose-services-locally.md). @@ -100,13 +100,13 @@ Maintenant que vous disposez d’une application, essayez de l’exécuter. 4. Recherchez dans votre projet de service la classe qui dérive de StatefulService (par exemple, MyStatefulService) et définissez un point d’arrêt sur la première ligne de la méthode `RunAsync` . ![Point d’arrêt dans la méthode RunAsync de service avec état][7] -5. Cliquez avec le bouton droit sur l’application de barre d’état système du gestionnaire du cluster local et choisissez **Gérer le cluster Local** pour lancer Service Fabric Explorer. +5. Pour lancer Service Fabric Explorer, cliquez avec le bouton droit sur l’application du gestionnaire du cluster local dans la zone de notification, puis choisissez **Gérer le cluster local**. ![Lancer l’Explorateur de Fabric Service à partir du Gestionnaire de cluster Local.][systray-launch-sfx] Service Fabric Explorer offre une représentation visuelle de cluster, notamment l’ensemble des applications et le jeu de nœuds physiques qui le composent. Pour en savoir plus sur Service Fabric Explorer, voir [Visualisation de votre cluster](service-fabric-visualizing-your-cluster.md). 6. Dans le volet de gauche, développez **Cluster > Nœuds** et recherchez le nœud sur lequel votre code s’exécute. -7. Cliquez sur **Actions > Désactiver (Redémarrer)** pour simuler le redémarrage de l’ordinateur. (Notez que vous pouvez également procéder à la désactivation depuis le menu contextuel de la vue Liste de nœuds du volet gauche.) +7. Cliquez sur **Actions > Désactiver (Redémarrer)** pour simuler le redémarrage de l’ordinateur. Une autre possibilité consiste à désactiver le nœud dans la vue Liste de nœuds du volet gauche. ![Arrêter un nœud Service Fabric Explorer][sfx-stop-node] @@ -116,14 +116,14 @@ Maintenant que vous disposez d’une application, essayez de l’exécuter. ![Observateur d’événements de diagnostic après basculement][diagnostic-events-viewer-detail-post-failover] ## Changer de mode de cluster -Par défaut, le cluster de développement local est configuré pour s’exécuter en tant que cluster à 5 nœuds, ce qui s’avère utile pour déboguer les services déployés sur plusieurs nœuds. Cependant, le déploiement d’une application sur le cluster de développement à 5 nœuds peut prendre un certain temps. Si vous souhaitez itérer des modifications de code rapidement, sans exécuter votre application sur 5 nœuds, vous pouvez basculer le cluster de développement sur le mode 1 nœud. Pour exécuter votre code sur un cluster à un nœud, cliquez avec le bouton droit sur le gestionnaire de cluster local dans la barre d’état système, puis sélectionnez **Switch Cluster Mode -> 1 Node** (Changer de mode de cluster -> 1 nœud). +Par défaut, le cluster de développement local est configuré pour s’exécuter en tant que cluster à cinq nœuds, ce qui se révèle utile pour déboguer les services déployés sur plusieurs nœuds. Toutefois, le déploiement d’une application sur le cluster de développement à cinq nœuds peut prendre un certain temps. Si vous souhaitez itérer des modifications de code rapidement, sans exécuter votre application sur cinq nœuds, basculez le cluster de développement en mode un nœud. Pour exécuter votre code sur un cluster à un nœud, cliquez avec le bouton droit sur le gestionnaire de cluster local dans la barre d’état système, puis sélectionnez **Switch Cluster Mode -> 1 Node** (Changer de mode de cluster -> 1 nœud). ![Changer de mode de cluster][switch-cluster-mode] -Lorsque vous changez de mode de cluster, le cluster de développement redémarre et toutes les applications approvisionnées ou en cours d’exécution sur le cluster sont supprimées. +Lorsque vous changez de mode de cluster, le cluster de développement se réinitialise, et toutes les applications approvisionnées ou en cours d’exécution sur le cluster sont supprimées. ## Nettoyage - Avant de conclure, il est important de se rappeler que le cluster local est très réel. L’arrêt du débogueur supprime votre instance d’application et annule l’inscription du type d’application. Toutefois, le cluster continue de s’exécuter en arrière-plan. Vous disposez de plusieurs options pour gérer le cluster : +Avant de conclure, il est important de se rappeler que le cluster local est réel. L’arrêt du débogueur supprime votre instance d’application et annule l’inscription du type d’application. Toutefois, le cluster continue de s’exécuter en arrière-plan. Vous disposez de plusieurs options pour gérer le cluster : 1. Pour arrêter le cluster tout en conservant les données et les traces de l’application, cliquez sur **Arrêter le cluster local** dans l’application de zone de notification. 2. Pour supprimer complètement le cluster, cliquez sur **Supprimer le cluster local** dans l’application de zone de notification. Cette option se traduira par un autre déploiement lent la prochaine fois que vous appuierez sur F5 dans Visual Studio. Supprimez le cluster uniquement si vous n’envisagez pas d’utiliser le cluster local pendant un certain temps ou si vous avez besoin de libérer des ressources. @@ -131,8 +131,9 @@ Lorsque vous changez de mode de cluster, le cluster de développement redémarre ## Étapes suivantes * Apprenez à créer un [cluster dans Azure](service-fabric-cluster-creation-via-portal.md) ou un [cluster autonome sur Windows](service-fabric-cluster-creation-for-windows-server.md). * Essayez de créer un service en utilisant les modèles de programmation [Reliable Services](service-fabric-reliable-services-quick-start.md) ou [Reliable Actors](service-fabric-reliable-actors-get-started.md). -* Découvrez comment exposer vos services sur Internet avec un [service web frontal](service-fabric-add-a-web-frontend.md). +* Découvrez comment exposer vos services sur Internet avec un [serveur frontal de services web](service-fabric-add-a-web-frontend.md). * Suivez des [travaux pratiques](https://msdnshared.blob.core.windows.net/media/2016/07/SF-Lab-Part-I.docx) afin de créer un service sans état, de configurer des rapports de surveillance et d’intégrité, et d’effectuer une mise à niveau de l’application. +* En savoir plus sur les [options de prise en charge de Service Fabric](service-fabric-support.md) @@ -151,6 +152,6 @@ Lorsque vous changez de mode de cluster, le cluster de développement redémarre - + diff --git a/articles/sql-database/sql-database-get-started-powershell.md b/articles/sql-database/sql-database-get-started-powershell.md index 00d0f81c47e..1ebc1e21da6 100644 --- a/articles/sql-database/sql-database-get-started-powershell.md +++ b/articles/sql-database/sql-database-get-started-powershell.md @@ -9,132 +9,572 @@ manager: jhubbard editor: cgronlun ms.assetid: 7d99869b-cec5-4583-8c1c-4c663f4afd4d ms.service: sql-database -ms.custom: overview +ms.custom: single databases ms.devlang: NA ms.topic: hero-article ms.tgt_pltfrm: powershell ms.workload: data-management -ms.date: 08/19/2016 +ms.date: 12/09/2016 ms.author: sstein translationtype: Human Translation -ms.sourcegitcommit: dcda8b30adde930ab373a087d6955b900365c4cc -ms.openlocfilehash: daf63815baaf0843f56668b8f310642dbaaf0e54 +ms.sourcegitcommit: 145cdc5b686692b44d2c3593a128689a56812610 +ms.openlocfilehash: b557c6d3591b1d56144651e876fa4bb1b0646935 ---- -# Créer une base de données SQL et effectuer des tâches courantes d’installation de base de données avec les applets de commande PowerShell -> [!div class="op_single_selector"] -> * [Portail Azure](sql-database-get-started.md) -> * [PowerShell](sql-database-get-started-powershell.md) -> * [C#](sql-database-get-started-csharp.md) -> -> +--- + +# Prise en main des serveurs Azure SQL Database, des bases de données et des règles de pare-feu à l’aide d’Azure PowerShell + +Ce didacticiel de mise en route vous explique comment utiliser PowerShell pour : + +* créer un groupe de ressources Azure ; +* créer un serveur logique Azure SQL ; +* visualiser les propriétés de serveur SQL Azure ; +* créer une règle de pare-feu au niveau du serveur ; +* créer l’exemple de base de données AdventureWorksLT sous la forme d’une base de données autonome ; +* visualiser les propriétés de l’exemple de base de données AdventureWorksLT ; +* créer une base de données autonome vide. + +Ce didacticiel vous apprend également à effectuer les opérations suivantes : + +* se connecter au serveur logique et à sa base de données master ; +* afficher les propriétés de la base de données master ; +* se connecter à l’exemple de base de données ; +* afficher les propriétés de la base de données utilisateur. + +Lorsque vous aurez terminé ce didacticiel, vous aurez un exemple de base de données et une base de données vide en cours d’exécution dans un groupe de ressources Azure et attachés à un serveur logique. Vous aurez également une règle de pare-feu de niveau serveur configurée pour permettre au principal de niveau serveur de se connecter au serveur à partir d’une adresse IP spécifiée (ou d’une plage d’adresses IP). + +**Durée estimée** : ce didacticiel vous prendra environ 30 minutes (à condition que vous remplissiez déjà les conditions préalables). + + +> [!TIP] +> Vous pouvez exécuter les mêmes tâches dans un didacticiel de prise en main à l’aide du [Portail Azure](sql-database-get-started.md). +> + + +## Composants requis + +* Vous avez besoin d’un compte Azure. Vous pouvez [ouvrir un compte Azure gratuit](/pricing/free-trial/?WT.mc_id=A261C142F) ou [activer les avantages de l’abonnement à Visual Studio](/pricing/member-offers/msdn-benefits-details/?WT.mc_id=A261C142F). + +* Vous devez être connecté à l’aide d’un compte qui est membre du rôle Propriétaire de l’abonnement ou du rôle Collaborateur. Pour plus d’informations sur l’utilisation du contrôle d’accès en fonction du rôle (RBAC), consultez [Prise en main de la gestion des accès dans le portail Azure](../active-directory/role-based-access-control-what-is.md). + +* Vous devez disposer du fichier d’exemple de base de données AdventureWorksLT .bacpac dans le service Stockage Blob Azure. + +### Télécharger le fichier d’exemple de base de données AdventureWorksLT .bacpac et l’enregistrer dans Stockage Blob Azure + +Ce didacticiel crée une base de données AdventureWorksLT en important un fichier .bacpac à partir du service Stockage Azure. La première étape consiste à obtenir une copie du fichier AdventureWorksLT.bacpac, puis à la charger dans Stockage Blob. +Les étapes ci-après préparent l’importation de l’exemple de base de données : + +1. [Téléchargez le fichier AdventureWorksLT.bacpac](https://sqldbbacpacs.blob.core.windows.net/bacpacs/AdventureWorksLT.bacpac) et enregistrez-le avec l’extension de fichier .bacpac. +2. [Créez un compte de stockage](../storage/storage-create-storage-account.md#create-a-storage-account) : vous pouvez créer le compte de stockage avec les paramètres par défaut. +3. Créez un **conteneur** en accédant au compte de stockage, sélectionnez **Objets blob**, puis cliquez sur **+Conteneur**. +4. Chargez le fichier .bacpac dans le conteneur d’objets blob de votre compte de stockage. Pour effectuer cette opération, vous pouvez utiliser le bouton **Télécharger** en haut de la page du conteneur ou [utiliser la commande AzCopy](../storage/storage-use-azcopy.md#blob-upload). +5. Après l’enregistrement du fichier AdventureWorksLT.bacpac, vous devrez disposer de l’URL et de la clé du compte de stockage pour l’extrait de code d’importation dans la suite de ce didacticiel. + * Sélectionnez votre fichier bacpac et copiez l’URL. Cette URL sera semblable à https://{nom-du-compte-de-stockage}.blob.core.windows.net/{nom-du-conteneur}/AdventureWorksLT.bacpac. Dans la page du compte de stockage, cliquez sur **Clés d’accès**, puis copiez **key1**. -Découvrez comment créer une base de données SQL avec des applets de commande PowerShell. (Pour la création de bases de données élastiques, consultez [Créer un pool de base de données élastique avec PowerShell](sql-database-elastic-pool-create-powershell.md).) [!INCLUDE [Start your PowerShell session](../../includes/sql-database-powershell.md)] -## Configuration de la base de données : Créer un groupe de ressources, un serveur et une règle de pare-feu -Une fois que vous disposez d’un accès pour exécuter des applets de commande pour votre abonnement Azure, l’étape suivante consiste à établir le groupe de ressources qui contient le serveur où la base de données sera créée. Vous pouvez modifier la commande suivante pour utiliser l'emplacement valide de votre choix. Exécutez **(Get-AzureRmLocation | Where-Object { $_.Providers -eq "Microsoft.Sql" }).Location** pour obtenir la liste des emplacements autorisés. -Utilisez la commande suivante pour créer un groupe de ressources : +## Créer un serveur SQL logique à l’aide d’Azure PowerShell + +Vous devez disposer d’un groupe de ressources destiné à contenir le serveur. La première étape consiste donc soit à créer un groupe de ressources et un serveur ([New-AzureRmResourceGroup](https://docs.microsoft.com/powershell/resourcemanager/azurerm.resources/v3.3.0/new-azurermresourcegroup), [New-AzureRmSqlServer](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/new-azurermsqlserver)), soit à obtenir des références à un groupe de ressources et à un serveur existants ([Get-AzureRmResourceGroup](https://docs.microsoft.com/powershell/resourcemanager/azurerm.resources/v3.3.0/get-azurermresourcegroup), [Get-AzureRmSqlServer](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/get-azurermsqlserver)). +Les extraits de code ci-après créent un groupe de ressources et un serveur SQL Azure s’ils n’existent pas encore : + +Pour découvrir la liste des emplacements Azure valides et le format de chaîne approprié, consultez la section [Extraits de code d’assistance](#helper-snippets) ci-dessous. +``` +# Create new, or get existing resource group +############################################ + +$resourceGroupName = "{resource-group-name}" +$resourceGroupLocation = "{resource-group-location}" + +$myResourceGroup = Get-AzureRmResourceGroup -Name $resourceGroupName -ea SilentlyContinue + +if(!$myResourceGroup) +{ + Write-Output "Creating resource group: $resourceGroupName" + $myResourceGroup = New-AzureRmResourceGroup -Name $resourceGroupName -Location $resourceGroupLocation +} +else +{ + Write-Output "Resource group $resourceGroupName already exists:" +} +$myResourceGroup + + + +# Create a new, or get existing server +###################################### + +$serverName = "{server-name}" +$serverVersion = "12.0" +$serverLocation = $resourceGroupLocation +$serverResourceGroupName = $resourceGroupName + +$serverAdmin = "{server-admin}" +$serverAdminPassword = "{server-admin-password}" + +$securePassword = ConvertTo-SecureString –String $serverAdminPassword –AsPlainText -Force +$serverCreds = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $serverAdmin, $securePassword + +$myServer = Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $serverResourceGroupName -ea SilentlyContinue +if(!$myServer) +{ + Write-Output "Creating SQL server: $serverName" + $myServer = New-AzureRmSqlServer -ResourceGroupName $serverResourceGroupName -ServerName $serverName -Location $serverLocation -ServerVersion $serverVersion -SqlAdministratorCredentials $serverCreds +} +else +{ + Write-Output "SQL server $serverName already exists:" +} +$myServer + +``` + + +## Visualiser les propriétés de serveur SQL logique à l’aide d’Azure PowerShell + +``` +#$serverResourceGroupName = "{resource-group-name}" +#$serverName = "{server-name}" + +$myServer = Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $serverResourceGroupName + +Write-Host "Server name: " $myServer.ServerName +Write-Host "Fully qualified server name: $serverName.database.windows.net" +Write-Host "Server location: " $myServer.Location +Write-Host "Server version: " $myServer.ServerVersion +Write-Host "Server administrator login: " $myServer.SqlAdministratorLogin +``` + + +## Créer une règle de pare-feu au niveau du serveur à l’aide d’Azure PowerShell + +Vous devez connaître votre adresse IP publique pour définir la règle de pare-feu. Vous pouvez obtenir votre adresse IP à l’aide d’un navigateur de votre choix (demandez « quelle est mon adresse IP »). Pour plus d’informations, consultez l’article relatif aux [règles de pare-feu](sql-database-firewall-configure.md). + +Le code ci-après utilise les applets de commande [Get-AzureRmSqlServerFirewallRule](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/get-azurermsqlserverfirewallrule) et [New-AzureRmSqlServerFirewallRule](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/new-azurermsqlserverfirewallrule) pour obtenir une référence ou pour créer une règle. Si la règle existe déjà, cet extrait de code obtient uniquement une référence à cette règle et ne met pas à jour les adresses IP de début et de fin. Vous pouvez toujours modifier la clause **else** afin d’utiliser l’applet de commande [Set-AzureRmSqlServerFirewallRule](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/set-azurermsqlserverfirewallrule) pour une fonctionnalité de création ou de mise à jour. + +> [!NOTE] +> Vous pouvez ouvrir le pare-feu SQL Database sur le serveur pour une adresse IP unique ou un ensemble d’adresses. Ouvrir le pare-feu permet aux administrateurs et utilisateurs SQL de se connecter à toute base de données sur le serveur pour laquelle ils disposent d’informations d’identification valides. +> + +``` +#$serverName = "{server-name}" +#$serverResourceGroupName = "{resource-group-name}" +$serverFirewallRuleName = "{server-firewall-rule-name}" +$serverFirewallStartIp = "{server-firewall-rule-startIp}" +$serverFirewallEndIp = "{server-firewall-rule-endIp}" + +$myFirewallRule = Get-AzureRmSqlServerFirewallRule -FirewallRuleName $serverFirewallRuleName -ServerName $serverName -ResourceGroupName $serverResourceGroupName -ea SilentlyContinue + +if(!$myFirewallRule) +{ + Write-host "Creating server firewall rule: $serverFirewallRuleName" + $myFirewallRule = New-AzureRmSqlServerFirewallRule -ResourceGroupName $serverResourceGroupName -ServerName $serverName -FirewallRuleName $serverFirewallRuleName -StartIpAddress $serverFirewallStartIp -EndIpAddress $serverFirewallEndIp +} +else +{ + Write-host "Server firewall rule $serverFirewallRuleName already exists:" +} +$myFirewallRule +``` + + +## Se connecter au serveur SQL à l’aide d’Azure PowerShell + +Exécutons une requête rapide vers la base de données MASTER pour vérifier que nous pouvons nous connecter au serveur. L’extrait de code ci-après utilise le [fournisseur .NET Framework pour SQL Server (System.Data.SqlClient)](https://msdn.microsoft.com/library/system.data.sqlclient(v=vs.110).aspx) pour se connecter et interroger la base de données MASTER du serveur. Il génère une chaîne de connexion basée sur les variables que nous avons utilisées dans les extraits de code précédents. Remplacez les espaces réservés par le nom d’administrateur et le mot de passe du serveur SQL que vous avez utilisés pour créer le serveur aux étapes précédentes. + + +``` +#$serverName = "{server-name}" +#$serverAdmin = "{server-admin}" +#$serverAdminPassword = "{server-admin-password}" +$databaseName = "master" + +$connectionString = "Server=tcp:" + $serverName + ".database.windows.net" + ",1433;Initial Catalog=" + $databaseName + ";Persist Security Info=False;User ID=$serverAdmin;Password=$serverAdminPassword" + ";MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" + + + +$connection = New-Object System.Data.SqlClient.SqlConnection +$connection.ConnectionString = $connectionString +$connection.Open() +$command = New-Object System.Data.SQLClient.SQLCommand("select * from sys.objects", $connection) + +$command.Connection = $connection +$reader = $command.ExecuteReader() + + +$sysObjects = "" +while ($reader.Read()) { + $sysObjects += $reader["name"] + "`n" +} +$sysObjects + +$connection.Close() +``` + + +## Créer un exemple de base de données AdventureWorksLT à l’aide d’Azure PowerShell + +L’extrait de code ci-après importe un fichier bacpac de l’exemple de base de données AdventureWorksLT à l’aide de l’applet de commande [New-AzureRmSqlDatabaseImport](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/new-azurermsqldatabaseimport). Le fichier bacpac se trouve dans Stockage Blob Azure. Après avoir exécuté l’applet de commande d’importation, vous pouvez surveiller la progression de l’opération d’importation à l’aide de l’applet de commande [Get-AzureRmSqlDatabaseImportExportStatus](https://docs.microsoft.com/powershell/resourcemanager/azurerm.sql/v2.3.0/get-azurermsqldatabaseimportexportstatus). +La propriété $storageUri est la propriété d’URL du fichier bacpac que vous avez chargé vers le portail précédemment, et doit être semblable à ceci : https://{compte-de-stockage}.blob.core.windows.net/{conteneur}/AdventureWorksLT.bacpac. + +``` +#$resourceGroupName = "{resource-group-name}" +#$serverName = "{server-name}" + +$databaseName = "AdventureWorksLT" +$databaseEdition = "Basic" +$databaseServiceLevel = "Basic" + +$storageKeyType = "StorageAccessKey" +$storageUri = "{storage-uri}" # URL of bacpac file you uploaded to your storage account +$storageKey = "{storage-key}" # key1 in the Access keys setting of your storage account + +$importRequest = New-AzureRmSqlDatabaseImport –ResourceGroupName $resourceGroupName –ServerName $serverName –DatabaseName $databaseName –StorageKeytype $storageKeyType –StorageKey $storageKey -StorageUri $storageUri –AdministratorLogin $serverAdmin –AdministratorLoginPassword $securePassword –Edition $databaseEdition –ServiceObjectiveName $databaseServiceLevel -DatabaseMaxSizeBytes 5000000 + - New-AzureRmResourceGroup -Name "resourcegroupsqlgsps" -Location "westus" +Do { + $importStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink + Write-host "Importing database..." $importStatus.StatusMessage + Start-Sleep -Seconds 30 + $importStatus.Status + } + until ($importStatus.Status -eq "Succeeded") +$importStatus +``` -### Créer un serveur -Les bases de données SQL sont créées dans les serveurs du service Base de données SQL Azure. Exécutez [New-AzureRMSqlServer](https://msdn.microsoft.com/library/azure/mt603715\(v=azure.300\).aspx) pour créer un serveur. Le nom du serveur doit être unique pour tous les serveurs du service Base de données SQL Azure. Vous obtiendrez une erreur si le nom est déjà utilisé pour un autre serveur. Il est également à noter que l'exécution de cette commande peut prendre plusieurs minutes. Vous pouvez modifier la commande à utiliser n’importe quel emplacement valide de votre choix, mais vous devez utiliser le même emplacement que celui utilisé pour le groupe de ressources créé à l’étape précédente. - New-AzureRmSqlServer -ResourceGroupName "resourcegroupsqlgsps" -ServerName "server1" -Location "westus" -ServerVersion "12.0" +## Visualiser les propriétés de la base de données à l’aide d’Azure PowerShell -Lorsque vous exécutez cette commande, vous êtes invité à fournir votre nom d’utilisateur et votre mot de passe. N’entrez pas vos informations d’identification Azure. Au lieu de cela, entrez le nom d’utilisateur et le mot de passe à créer en tant qu’administrateur du serveur. Le script en bas de cet article montre comment définir les informations d’identification du serveur à l’aide d’un code. +Après avoir créé la base de données, visualisez certaines de ses propriétés. -Les détails du serveur apparaissent une fois le serveur créé. +``` +#$resourceGroupName = "{resource-group-name}" +#$serverName = "{server-name}" +#$databaseName = "{database-name}" -### Configurer une règle de pare-feu de serveur pour autoriser l'accès au serveur -Vous devez établir une règle de pare-feu pour accéder au serveur. Exécutez la commande [New-AzureRmSqlServerFirewallRule](https://msdn.microsoft.com/library/azure/mt603860\(v=azure.300\).aspx) en remplaçant les adresses IP de début et de fin par des valeurs autorisées pour votre ordinateur. +$myDatabase = Get-AzureRmSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName - New-AzureRmSqlServerFirewallRule -ResourceGroupName "resourcegroupsqlgsps" -ServerName "server1" -FirewallRuleName "rule1" -StartIpAddress "192.168.0.0" -EndIpAddress "192.168.0.0" -Les détails de la règle de pare-feu apparaissent une fois la règle créée. +Write-Host "Database name: " $myDatabase.DatabaseName +Write-Host "Server name: " $myDatabase.ServerName +Write-Host "Creation date: " $myDatabase.CreationDate +Write-Host "Database edition: " $myDatabase.Edition +Write-Host "Database performance level: " $myDatabase.CurrentServiceObjectiveName +Write-Host "Database status: " $myDatabase.Status +``` -Pour autoriser d’autres services Azure à accéder à un serveur, ajoutez une règle de pare-feu, et définissez StartIpAddress et EndIpAddress sur 0.0.0.0. Cette configuration autorise le trafic Azure à accéder au serveur depuis n’importe quel abonnement Azure. +## Se connecter et interroger l’exemple de base de données à l’aide d’Azure PowerShell -Pour en savoir plus, consultez [Pare-feu de la base de données SQL Azure](sql-database-firewall-configure.md). +Exécutons une requête rapide vers la base de données AdventureWorksLT pour vérifier que nous pouvons nous connecter. L’extrait de code ci-après utilise le [fournisseur .NET Framework pour SQL Server (System.Data.SqlClient)](https://msdn.microsoft.com/library/system.data.sqlclient(v=vs.110).aspx) pour se connecter et interroger la base de données. Il génère une chaîne de connexion basée sur les variables que nous avons utilisées dans les extraits de code précédents. Remplacez l’espace réservé par le mot de passe d’administrateur du serveur SQL. -## Créer une base de données SQL -Vous disposez maintenant d'un groupe de ressources, d'un serveur et d'une règle de pare-feu configurés pour vous permettre un accès au serveur. +``` +#$serverName = {server-name} +#$serverAdmin = "{server-admin}" +#$serverAdminPassword = "{server-admin-password}" +#$databaseName = {database-name} -La commande [New-AzureRmSqlDatabase](https://msdn.microsoft.com/library/azure/mt619339\(v=azure.300\).aspx) suivante permet de créer une base de données SQL Database (vide) au niveau de service Standard avec un niveau de performances S1 : +$connectionString = "Server=tcp:" + $serverName + ".database.windows.net" + ",1433;Initial Catalog=" + $databaseName + ";Persist Security Info=False;User ID=$serverAdmin;Password=$serverAdminPassword" + ";MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" - New-AzureRmSqlDatabase -ResourceGroupName "resourcegroupsqlgsps" -ServerName "server1" -DatabaseName "database1" -Edition "Standard" -RequestedServiceObjectiveName "S1" +$connection = New-Object System.Data.SqlClient.SqlConnection +$connection.ConnectionString = $connectionString +$connection.Open() +$command = New-Object System.Data.SQLClient.SQLCommand("select * from sys.objects", $connection) -Les détails de la base de données apparaissent une fois la base de données créée. +$command.Connection = $connection +$reader = $command.ExecuteReader() -## Créer un script PowerShell de base de données SQL -Le script PowerShell suivant crée une base de données SQL et toutes ses ressources dépendantes. Remplacez tout `{variables}` par des valeurs spécifiques à votre abonnement et ressources (supprimez les **{}** lorsque vous définissez les valeurs). - # Sign in to Azure and set the subscription to work with - $SubscriptionId = "{subscription-id}" +$sysObjects = "" +while ($reader.Read()) { + $sysObjects += $reader["name"] + "`n" +} +$sysObjects - Add-AzureRmAccount - Set-AzureRmContext -SubscriptionId $SubscriptionId +$connection.Close() +``` - # CREATE A RESOURCE GROUP - $resourceGroupName = "{group-name}" - $rglocation = "{Azure-region}" +## Créer une base de données vide à l’aide d’Azure PowerShell - New-AzureRmResourceGroup -Name $resourceGroupName -Location $rglocation +``` +#$resourceGroupName = {resource-group-name} +#$serverName = {server-name} - # CREATE A SERVER - $serverName = "{server-name}" - $serverVersion = "12.0" - $serverLocation = "{Azure-region}" +$blankDatabaseName = "blankdb" +$blankDatabaseEdition = "Basic" +$blankDatabaseServiceLevel = "Basic" - $serverAdmin = "{server-admin}" - $serverPassword = "{server-password}" - $securePassword = ConvertTo-SecureString –String $serverPassword –AsPlainText -Force - $serverCreds = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $serverAdmin, $securePassword - $sqlDbServer = New-AzureRmSqlServer -ResourceGroupName $resourceGroupName -ServerName $serverName -Location $serverLocation -ServerVersion $serverVersion -SqlAdministratorCredentials $serverCreds +$myBlankDatabase = New-AzureRmSqlDatabase -DatabaseName $blankDatabaseName -ServerName $serverName -ResourceGroupName $resourceGroupName -Edition $blankDatabaseEdition -RequestedServiceObjectiveName $blankDatabaseServiceLevel +$myBlankDatabase +``` - # CREATE A SERVER FIREWALL RULE - $ip = (Test-Connection -ComputerName $env:COMPUTERNAME -Count 1 -Verbose).IPV4Address.IPAddressToString - $firewallRuleName = '{rule-name}' - $firewallStartIp = $ip - $firewallEndIp = $ip - $fireWallRule = New-AzureRmSqlServerFirewallRule -ResourceGroupName $resourceGroupName -ServerName $serverName -FirewallRuleName $firewallRuleName -StartIpAddress $firewallStartIp -EndIpAddress $firewallEndIp +## Exécuter un script Azure PowerShell pour créer un serveur, une règle de pare-feu et une base de données - # CREATE A SQL DATABASE - $databaseName = "{database-name}" - $databaseEdition = "{Standard}" - $databaseSlo = "{S0}" - $sqlDatabase = New-AzureRmSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName -Edition $databaseEdition -RequestedServiceObjectiveName $databaseSlo +``` +# Sign in to Azure and set the subscription to work with +######################################################## +$SubscriptionId = "{subscription-id}" - # REMOVE ALL RESOURCES THE SCRIPT JUST CREATED - #Remove-AzureRmResourceGroup -Name $resourceGroupName +Add-AzureRmAccount +Set-AzureRmContext -SubscriptionId $SubscriptionId +# User variables +################ +$myResourceGroupName = "{resource-group-name}" +$myResourceGroupLocation = "{resource-group-location}" +$myServerName = "{server-name}" +$myServerVersion = "12.0" +$myServerLocation = $myResourceGroupLocation +$myServerResourceGroupName = $myResourceGroupName +$myServerAdmin = "{server-admin}" +$myServerAdminPassword = "{server-admin-password}" +$myServerFirewallRuleName = "{server-firewall-rule-name}" +$myServerFirewallStartIp = "{start-ip}" +$myServerFirewallEndIp = "{end-ip}" +$myDatabaseName = "AdventureWorksLT" +$myDatabaseEdition = "Basic" +$myDatabaseServiceLevel = "Basic" + +$myStorageKeyType = "StorageAccessKey" +# Get these values from your Azure storage account: +$myStorageUri = "{http://your-storage-account.blob.core.windows.net/your-container/AdventureWorksLT.bacpac}" +$myStorageKey = "{your-storage-key}" + + +# Create new, or get existing resource group +############################################ + +$resourceGroupName = $myResourceGroupName +$resourceGroupLocation = $myResourceGroupLocation + +$myResourceGroup = Get-AzureRmResourceGroup -Name $resourceGroupName -ea SilentlyContinue + +if(!$myResourceGroup) +{ + Write-host "Creating resource group: $resourceGroupName" + $myResourceGroup = New-AzureRmResourceGroup -Name $resourceGroupName -Location $resourceGroupLocation +} +else +{ + Write-host "Resource group $resourceGroupName already exists:" +} +$myResourceGroup + + +# Create a new, or get existing server +###################################### + +$serverName = $myServerName +$serverVersion = $myServerVersion +$serverLocation = $myServerLocation +$serverResourceGroupName = $myServerResourceGroupName + +$serverAdmin = $myServerAdmin +$serverAdminPassword = $myServerAdminPassword + +$securePassword = ConvertTo-SecureString –String $serverAdminPassword –AsPlainText -Force +$serverCreds = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $serverAdmin, $securePassword + +$myServer = Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $serverResourceGroupName -ea SilentlyContinue +if(!$myServer) +{ + Write-host "Creating SQL server: $serverName" + $myServer = New-AzureRmSqlServer -ResourceGroupName $serverResourceGroupName -ServerName $serverName -Location $serverLocation -ServerVersion $serverVersion -SqlAdministratorCredentials $serverCreds +} +else +{ + Write-host "SQL server $serverName already exists:" +} +$myServer + + +# View server properties +########################## + +$resourceGroupName = $myResourceGroupName +$serverName = $myServerName + +$myServer = Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $serverResourceGroupName + +Write-Host "Server name: " $myServer.ServerName +Write-Host "Fully qualified server name: $serverName.database.windows.net" +Write-Host "Server location: " $myServer.Location +Write-Host "Server version: " $myServer.ServerVersion +Write-Host "Server administrator login: " $myServer.SqlAdministratorLogin + + +# Create or update server firewall rule +####################################### + +$serverFirewallRuleName = $myServerFirewallRuleName +$serverFirewallStartIp = $myServerFirewallStartIp +$serverFirewallEndIp = $myServerFirewallEndIp + +$myFirewallRule = Get-AzureRmSqlServerFirewallRule -FirewallRuleName $serverFirewallRuleName -ServerName $serverName -ResourceGroupName $serverResourceGroupName -ea SilentlyContinue + +if(!$myFirewallRule) +{ + Write-host "Creating server firewall rule: $serverFirewallRuleName" + $myFirewallRule = New-AzureRmSqlServerFirewallRule -ResourceGroupName $serverResourceGroupName -ServerName $serverName -FirewallRuleName $serverFirewallRuleName -StartIpAddress $serverFirewallStartIp -EndIpAddress $serverFirewallEndIp +} +else +{ + Write-host "Server firewall rule $serverFirewallRuleName already exists:" +} +$myFirewallRule + + +# Connect to the server and master database +########################################### +$databaseName = "master" + +$connectionString = "Server=tcp:" + $serverName + ".database.windows.net" + ",1433;Initial Catalog=" + $databaseName + ";Persist Security Info=False;User ID=" + $myServer.SqlAdministratorLogin + ";Password=" + $myServerAdminPassword + ";MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" + + +$connection = New-Object System.Data.SqlClient.SqlConnection +$connection.ConnectionString = $connectionString +$connection.Open() +$command = New-Object System.Data.SQLClient.SQLCommand("select * from sys.objects", $connection) + +$command.Connection = $connection +$reader = $command.ExecuteReader() + +$sysObjects = "" +while ($reader.Read()) { + $sysObjects += $reader["name"] + "`n" +} +$sysObjects + +$connection.Close() + + +# Create the AdventureWorksLT database from a bacpac +#################################################### + +$resourceGroupName = $myResourceGroupName +$serverName = $myServerName + +$databaseName = $myDatabaseName +$databaseEdition = $myDatabaseEdition +$databaseServiceLevel = $myDatabaseServiceLevel + +$storageKeyType = $myStorageKeyType +$storageUri = $myStorageUri +$storageKey = $myStorageKey + +$importRequest = New-AzureRmSqlDatabaseImport –ResourceGroupName $resourceGroupName –ServerName $serverName –DatabaseName $databaseName –StorageKeytype $storageKeyType –StorageKey $storageKey -StorageUri $storageUri –AdministratorLogin $serverAdmin –AdministratorLoginPassword $securePassword –Edition $databaseEdition –ServiceObjectiveName $databaseServiceLevel -DatabaseMaxSizeBytes 5000000 + +Do { + $importStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink + Write-host "Importing database..." $importStatus.StatusMessage + Start-Sleep -Seconds 30 + $importStatus.Status + } + until ($importStatus.Status -eq "Succeeded") +$importStatus + + +# View database properties +########################## + +$resourceGroupName = $myResourceGroupName +$serverName = $myServerName +$databaseName = $myDatabaseName + +$myDatabase = Get-AzureRmSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName + +Write-Host "Database name: " $myDatabase.DatabaseName +Write-Host "Server name: " $myDatabase.ServerName +Write-Host "Creation date: " $myDatabase.CreationDate +Write-Host "Database edition: " $myDatabase.Edition +Write-Host "Database performance level: " $myDatabase.CurrentServiceObjectiveName +Write-Host "Database status: " $myDatabase.Status + + +# Query the database +#################### + +$connectionString = "Server=tcp:" + $serverName + ".database.windows.net" + ",1433;Initial Catalog=" + $databaseName + ";Persist Security Info=False;User ID=" + $myServer.SqlAdministratorLogin + ";Password=" + $myServerAdminPassword + ";MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" + +$connection = New-Object System.Data.SqlClient.SqlConnection +$connection.ConnectionString = $connectionString +$connection.Open() +$command = New-Object System.Data.SQLClient.SQLCommand("select * from sys.objects", $connection) + +$command.Connection = $connection +$reader = $command.ExecuteReader() + +$sysObjects = "" +while ($reader.Read()) { + $sysObjects += $reader["name"] + "`n" +} +$sysObjects + +$connection.Close() + + +# Create a blank database +######################### + +$blankDatabaseName = "blankdb" +$blankDatabaseEdition = "Basic" +$blankDatabaseServiceLevel = "Basic" + + +$myBlankDatabase = New-AzureRmSqlDatabase -DatabaseName $blankDatabaseName -ServerName $serverName -ResourceGroupName $resourceGroupName -Edition $blankDatabaseEdition -RequestedServiceObjectiveName $blankDatabaseServiceLevel +$myBlankDatabase +``` + + + +> [!TIP] +> Vous pouvez économiser de l’argent pendant votre apprentissage en supprimant des bases de données que vous n’utilisez pas. Les bases de données de l’édition De base peuvent être restaurées dans les 7 jours. Toutefois, ne supprimez pas de serveur. Si vous le faites, vous ne pourrez pas récupérer le serveur ou l’une de ses bases de données supprimées. + +## Extraits de code d’assistance + +``` +# Get a list of Azure regions where you can create SQL resources + +$sqlRegions = (Get-AzureRmLocation | Where-Object { $_.Providers -eq "Microsoft.Sql" }) +foreach ($region in $sqlRegions) +{ + $region.Location +} + +# Clean up +# Delete a resource group (and all contained resources) +Remove-AzureRmResourceGroup -Name {resource-group-name} +``` + +> [!TIP] +> Vous pouvez économiser de l’argent pendant votre apprentissage en supprimant des bases de données que vous n’utilisez pas. Pour les bases de données de l’édition de base, vous pouvez les restaurer dans les sept jours. Toutefois, ne supprimez pas le serveur. Si vous le faites, vous ne pourrez pas récupérer le serveur ou l’une de ses bases de données supprimées. +> ## Étapes suivantes -Une fois que vous avez créé une base de données SQL et effectué les tâches courantes d’installation de base de données, vous êtes prêt pour les opérations suivantes : +Maintenant que vous avez terminé ce premier didacticiel de mise en route et que vous avez créé une base de données avec certains exemples de données, vous souhaiterez peut-être explorer les nombreux autres didacticiels afin de mettre en œuvre ce que vous avez appris dans ce didacticiel. -* [Gérer SQL Database avec PowerShell](sql-database-manage-powershell.md) -* [Se connecter à la base de données SQL avec SQL Server Management Studio et exécuter un exemple de requête T-SQL](sql-database-connect-query-ssms.md) +* Si vous souhaitez commencer à explorer la sécurité Azure SQL Database, consultez [Prise en main de la sécurité](sql-database-get-started-security.md). +* Si vous connaissez Excel, découvrez comment [vous connecter à une base de données SQL dans Azure avec Excel](sql-database-connect-excel.md). +* Si vous êtes prêt à commencer le codage, choisissez votre langage de programmation dans [Bibliothèques de connexions pour SQL Database et SQL Server](sql-database-libraries.md). +* Si vous souhaitez déplacer vos bases de données SQL Server locales vers Azure, consultez la page [Migration de base de données SQL Server vers SQL Database dans le cloud](sql-database-cloud-migrate.md). +* Si vous souhaitez charger des données dans une nouvelle table à partir d’un fichier CSV avec l’outil de ligne de commande BCP, consultez la page [Chargement de données dans une base de données SQL à partir d’un fichier CSV à l’aide de BCP](sql-database-load-from-csv-with-bcp.md). +* Si vous souhaitez commencer à créer des tables et d’autres objets, consultez la rubrique « Création d’une table » dans [Création d’une table](https://msdn.microsoft.com/library/ms365315.aspx). ## Ressources supplémentaires -* [Applets de commande Azure SQL Database](https://msdn.microsoft.com/library/azure/mt574084\(v=azure.300\).aspx) -* [Base de données SQL Azure](https://azure.microsoft.com/documentation/services/sql-database/) - - +[Définition de la base de données SQL](sql-database-technical-overview.md) diff --git a/articles/virtual-machine-scale-sets/virtual-machine-scale-sets-linux-create-cli.md b/articles/virtual-machine-scale-sets/virtual-machine-scale-sets-linux-create-cli.md index 8c08589fc4e..f2ff421202e 100644 --- a/articles/virtual-machine-scale-sets/virtual-machine-scale-sets-linux-create-cli.md +++ b/articles/virtual-machine-scale-sets/virtual-machine-scale-sets-linux-create-cli.md @@ -14,10 +14,10 @@ ms.tgt_pltfrm: na ms.devlang: na ms.topic: get-started-article ms.date: 03/22/2016 -ms.author: gatneil +ms.author: negat translationtype: Human Translation -ms.sourcegitcommit: 2ea002938d69ad34aff421fa0eb753e449724a8f -ms.openlocfilehash: 1e0ea955db98589c0a29df871a3995e21bccdcaa +ms.sourcegitcommit: 6b77e338e1c7f0f79ea3c25b0b073296f7de0dcf +ms.openlocfilehash: 89e8e1dd9524c80e76aea8927bbd0578d475fc39 --- @@ -27,6 +27,6 @@ ms.openlocfilehash: 1e0ea955db98589c0a29df871a3995e21bccdcaa - + diff --git a/articles/vpn-gateway/vpn-gateway-about-vpn-devices.md b/articles/vpn-gateway/vpn-gateway-about-vpn-devices.md index cb53d4485c9..d0ce6960c5a 100644 --- a/articles/vpn-gateway/vpn-gateway-about-vpn-devices.md +++ b/articles/vpn-gateway/vpn-gateway-about-vpn-devices.md @@ -13,11 +13,11 @@ ms.devlang: na ms.topic: get-started-article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 12/01/2016 +ms.date: 12/12/2016 ms.author: yushwang;cherylmc translationtype: Human Translation -ms.sourcegitcommit: d85451d84f605f8472da66574cfec3ba212884ea -ms.openlocfilehash: f7ecd6b2e590122c4794cd0a81754da9398ba320 +ms.sourcegitcommit: bbaf89bca07fd2d4c4a12403d2daa8323f4d7be5 +ms.openlocfilehash: 12e7768665b8d360fe7241c9879bd1f7bfc63664 --- @@ -66,7 +66,7 @@ Pour configurer plus facilement votre périphérique VPN, reportez-vous aux lien | Open Systems AG |Passerelle Mission Control Security |N/A |[Guide d’installation](https://www.open.ch/_pdf/Azure/AzureVPNSetup_Installation_Guide.pdf) |[Guide d’installation](https://www.open.ch/_pdf/Azure/AzureVPNSetup_Installation_Guide.pdf) | | Openswan |Openswan |2.6.32 |(Bientôt disponible) |Non compatible | | Palo Alto Networks |Tous les périphériques exécutant PAN-OS |PAN-OS
PolicyBased : 6.1.5 ou version ultérieure
RouteBased : 7.0.5 ou version ultérieure |[Instructions de configuration](https://live.paloaltonetworks.com/t5/Configuration-Articles/How-to-Configure-VPN-Tunnel-Between-a-Palo-Alto-Networks/ta-p/59065) |[Instructions de configuration](https://live.paloaltonetworks.com/t5/Integration-Articles/Configuring-IKEv2-VPN-for-Microsoft-Azure-Environment/ta-p/60340) | -| Watchguard |Tout |Fireware XTM
PolicyBased: v11.11.x
RouteBased: v11.12.x |[Instructions de configuration](http://watchguardsupport.force.com/publicKB?type=KBArticle&SFDCID=kA2F00000000LI7KAM&lang=en_US) |[Instructions de configuration](http://watchguardsupport.force.com/publicKB?type=KBArticle&SFDCID=kA22A000000XZogSAG&lang=en_US)| +| WatchGuard |Tout |Fireware XTM
PolicyBased: v11.11.x
RouteBased: v11.12.x |[Instructions de configuration](http://watchguardsupport.force.com/publicKB?type=KBArticle&SFDCID=kA2F00000000LI7KAM&lang=en_US) |[Instructions de configuration](http://watchguardsupport.force.com/publicKB?type=KBArticle&SFDCID=kA22A000000XZogSAG&lang=en_US)| (*) Les routeurs de la série ISR 7200 prennent uniquement en charge les VPN basés sur des stratégies. @@ -153,6 +153,6 @@ Le tableau suivant répertorie les offres d’authentification et de chiffrement - + diff --git a/includes/app-service-mobile-android-configure-push-for-firebase.md b/includes/app-service-mobile-android-configure-push-for-firebase.md index 8273f66c3d3..36feeb9ec1d 100644 --- a/includes/app-service-mobile-android-configure-push-for-firebase.md +++ b/includes/app-service-mobile-android-configure-push-for-firebase.md @@ -1,10 +1,10 @@ -1. Dans le [portail Azure](https://portal.azure.com/), cliquez sur **Parcourir tout** > **App Services** > votre serveur principal d’application mobile. Sous **Paramètres**, cliquez sur **App Service Push** (Notification Push App Service), puis cliquez sur le nom de votre concentrateur de notifications. -2. Accédez à **Google (GCM)**, entrez la valeur de la **clé de serveur** obtenue de Firebase au cours de la procédure précédente, puis cliquez sur **Enregistrer**. - +1. Dans le [Portail Azure](https://portal.azure.com/), cliquez sur **Parcourir tout** > **App Services**, puis cliquez sur votre serveur principal Mobile Apps. Sous **Paramètres**, cliquez sur **App Service Push (Notification Push App Service)**, puis sur le nom de votre hub de notification. +2. Accédez à **Google (GCM)**, entrez la valeur de **clé serveur** obtenue auprès de Firebase au cours de la procédure précédente, puis cliquez sur **Enregistrer**. + ![Définition de la clé API GCM dans le portail](./media/app-service-mobile-android-configure-push/mobile-push-api-key.png) -Le serveur principal d’application mobile est maintenant configuré pour utiliser Firebase Cloud Messaging afin d’envoyer des notifications Push à votre application en cours d’exécution sur un appareil Android à l’aide du concentrateur de notifications. +Le serveur principal Mobile Apps est désormais configuré pour utiliser Firebase Cloud Messaging. Ceci vous permet d’envoyer des notifications Push à votre application en cours d’exécution sur un appareil Android à l’aide du hub de notification. @@ -12,6 +12,6 @@ Le serveur principal d’application mobile est maintenant configuré pour utili - + diff --git a/includes/hdinsight-selector-create-clusters.md b/includes/hdinsight-selector-create-clusters.md index 80abcc7f16b..37e000a46a3 100644 --- a/includes/hdinsight-selector-create-clusters.md +++ b/includes/hdinsight-selector-create-clusters.md @@ -1,19 +1,23 @@ > [!div class="op_multi_selector" title1="OS" title2="Creation method"] -> * [Linux | Vue d’ensemble](../articles/hdinsight/hdinsight-hadoop-provision-linux-clusters.md) -> * [Linux | Portail Azure](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-portal.md) -> * [Linux | Azure Data Factory](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-adf.md) -> * [Linux | Interface de ligne de commande Azure](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-azure-cli.md) -> * [Linux | Azure PowerShell](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-azure-powershell.md) -> * [Linux | API REST](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-curl-rest.md) -> * [Linux | Kit de développement logiciel (SDK) .NET](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-dotnet-sdk.md) -> * [Linux | Modèles Resource Manager](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-arm-templates.md) -> * [Windows | Vue d’ensemble](../articles/hdinsight/hdinsight-provision-clusters.md) -> * [Windows | Portail Azure](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-portal.md) -> * [Windows | Interface de ligne de commande Azure](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-cli.md) -> * [Windows | Azure PowerShell](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-powershell.md) -> * [Windows | Kit de développement logiciel (SDK) .NET](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-dotnet-sdk.md) -> * [Windows | Modèles Resource Manager](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-arm-templates.md) +> * [(Linux | Vue d’ensemble)](../articles/hdinsight/hdinsight-hadoop-provision-linux-clusters.md) +> * [(Linux | Portail Azure)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-portal.md) +> * [(Linux | Azure Data Factory)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-adf.md) +> * [(Linux | Interface de ligne de commande Azure)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-azure-cli.md) +> * [(Linux | Azure PowerShell)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-azure-powershell.md) +> * [(Linux | API REST)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-curl-rest.md) +> * [(Linux | Kit de développement logiciel (SDK) .NET)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-dotnet-sdk.md) +> * [(Linux | Modèles Resource Manager)](../articles/hdinsight/hdinsight-hadoop-create-linux-clusters-arm-templates.md) +> * [(Windows | Vue d’ensemble)](../articles/hdinsight/hdinsight-provision-clusters.md) +> * [(Windows | Portail Azure)](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-portal.md) +> * [(Windows | Interface de ligne de commande Azure)](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-cli.md) +> * [(Windows | Azure PowerShell)](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-powershell.md) +> * [(Windows | Kit de développement logiciel (SDK) .NET)](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-dotnet-sdk.md) +> * [(Windows | Modèles Resource Manager)](../articles/hdinsight/hdinsight-hadoop-create-windows-clusters-arm-templates.md) > > - \ No newline at end of file + + + + +