Partager via


Déployer le générateur d’API de données sur Azure Container Instances

Diagramme de l’emplacement actuel (« Publier ») dans la séquence du guide de déploiement.

Diagramme de la séquence du guide de déploiement, y compris ces emplacements, dans l’ordre : Vue d’ensemble, Plan, Préparation, Publication, Surveillance et Optimisation. L’emplacement « Publier » est actuellement surligné.

Déployez rapidement le générateur d’API de données sur Azure à l’aide d’un fichier de configuration et pas de code personnalisé. Ce guide inclut les étapes permettant d’héberger l’image conteneur du générateur d’API de données à partir de Docker en tant que conteneur dans Azure Container Instances.

Dans ce guide, suivez les étapes de génération d’un fichier de configuration du générateur d’API de données, hébergez le fichier dans Azure Files, puis montez le fichier dans un conteneur dans Azure Container Instances.

Conditions préalables

Générer le fichier de configuration

Pour commencer, créez un fichier de configuration DAB (Data API Builder) pour vous connecter à votre base de données existante. Ce fichier est utilisé ultérieurement avec le conteneur final.

  1. Créez un répertoire vide sur votre ordinateur local pour stocker le fichier de configuration.

  2. Initialisez un nouveau fichier de configuration de base à l’aide dab initde . Utilisez les paramètres suivants au minimum lors de l’initialisation.

    Réglage Valeur
    Type de base de données Sélectionnez un type de base de données pris en charge.
    chaîne de connexion Utilisez la @env() fonction pour référencer la variable d’environnement DATABASE_CONNECTION_STRING .
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Important

    Certains types de base de données nécessitent des paramètres de configuration supplémentaires lors de l’initialisation.

  3. Ajoutez au moins une entité de base de données à la configuration. Utilisez la dab add commande pour configurer une entité. Configurez chaque entité pour autoriser toutes les autorisations pour les utilisateurs anonymes. Répétez dab add autant de fois que vous le souhaitez pour vos entités.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Ouvrez et examinez le contenu du fichier dab-config.json . Vous utilisez ce fichier plus loin dans ce guide.

Configuration de l’hôte dans Azure Files

Ensuite, chargez le fichier de configuration dans un partage de fichiers créé dans Azure Files. Ce partage de fichiers est finalement monté sur le conteneur final en tant que volume.

  1. Connectez-vous au portail Azure (https://portal.azure.com).

  2. Créez un groupe de ressources. Vous allez utiliser ce groupe de ressources pour toutes les nouvelles ressources de ce guide.

    Capture d’écran de l’onglet « De base » de la page « Créer un groupe de ressources » dans le portail Azure.

    Conseil / Astuce

    Nous vous recommandons de nommer le groupe de ressources msdocs-dab-aci. Toutes les captures d’écran de ce guide utilisent ce nom.

  3. Créez un compte de stockage Azure. Utilisez ces paramètres pour configurer le compte.

    Réglage Valeur
    Groupe de ressources Sélectionnez le groupe de ressources que vous avez créé précédemment
    Nom du compte de stockage Entrez un nom global unique
    Région Sélectionner une région Azure
    Niveau de performance sélectionnez Standard.
    Redondance Sélectionner Stockage localement redondant (LRS)
    Activer l’accès à la clé du compte de stockage Sélectionnez Activé

    Capture d’écran de l’onglet « Avancé » de la page « Créer un compte de stockage » dans le portail Azure.

  4. Accédez au nouveau compte de stockage dans le portail Azure.

  5. Sélectionnez Partages de fichiers dans la section Stockage de données du menu de ressources. Ensuite, sélectionnez Partage de fichiers dans la barre de commandes pour créer un partage dans le compte de stockage. Utilisez les paramètres suivants pour configurer le nouveau partage de fichiers.

    Réglage Valeur
    Nom Entrez config
    Niveau d’accès Sélectionnez Favoris
    Activer la sauvegarde Ne pas sélectionner

    Capture d’écran du menu de ressources **Partage de fichiers** et des options de barre de commandes dans le portail Azure.

  6. Chargez le dab-config.json et tous les autres fichiers requis dans le partage. Utilisez l’option Charger dans la barre de commandes pour ouvrir la boîte de dialogue Charger des fichiers . Sélectionnez les deux fichiers, puis sélectionnez Charger.

    Capture d’écran de la boîte de dialogue **Charger des fichiers** dans le portail Azure.

  7. Sélectionnez les clés d’accès dans la section Sécurité + mise en réseau du menu de ressources. Ensuite, enregistrez le nom du compte de stockage et les valeurs de clé à partir de cette page. Vous utiliserez ces valeurs plus loin dans ce guide.

    Capture d’écran de la page « Clés d’accès » dans un compte de stockage dans le portail Azure.

Créer l’instance de conteneur de base

Enfin, créez le conteneur dans Azure à l’aide d’Azure Container Instances. Ce conteneur héberge l’image du générateur d’API de données avec un fichier de configuration pour se connecter à votre base de données.

Important

Aujourd’hui, la seule façon de créer une instance de conteneur avec un volume monté est avec Azure CLI.

  1. Créez une ressource Azure Container Instances à l’aide de az container create. Utilisez ces paramètres pour configurer la ressource.

    Réglage Valeur
    Groupe de ressources Utiliser le groupe de ressources que vous avez créé précédemment
    Nom du conteneur Entrez un nom global unique
    Région Utiliser la même région que le compte de stockage
    Référence (SKU) Utiliser standard
    Type d’image Utiliser public
    Image Entrez mcr.microsoft.com/azure-databases/data-api-builder:latest
    Type de système d’exploitation Utiliser Linux
    Type de mise en réseau Utiliser public
    Ports réseau Entrez 5000
    Étiquette de nom DNS Entrer une étiquette globale unique
    variables d’environnement Entrez DATABASE_CONNECTION_STRING et la chaîne de connexion de votre base de données.
    az container create \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --image "mcr.microsoft.com/azure-databases/data-api-builder:latest" \
        --location "<region>" \
        --sku "Standard" \
        --os-type "Linux" \
        --ip-address "public" \
        --ports "5000" \
        --dns-name-label "<unique-dns-label>" \
        --environment-variables "DATABASE_CONNECTION_STRING=<database-connection-string>" \
        --azure-file-volume-mount-path "/cfg" \
        --azure-file-volume-account-name "<storage-account-name>" \
        --azure-file-volume-account-key "<storage-account-key>" \
        --azure-file-volume-share-name "config" \
        --command-line "dotnet Azure.DataApiBuilder.Service.dll --ConfigFileName /cfg/dab-config.json"
        --
    

    Conseil / Astuce

    Nous vous recommandons d’utiliser une chaîne de connexion qui n’inclut pas de clés d’autorisation. Utilisez plutôt des identités managées et un contrôle d’accès en fonction du rôle pour gérer l’accès entre votre base de données et votre hôte. Pour plus d’informations, consultez les services Azure qui utilisent des identités managées.

  2. Permet az container show d’interroger le nom de domaine complet (FQDN) de votre nouvelle instance de conteneur. Ensuite, accédez au site web de l’instance de conteneur.

    az container show \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --query "join('://', ['https', ipAddress.fqdn])" \
        --output "tsv"
    
  3. Observez la réponse indiquant que le conteneur DAB est actif et que l’état est opérationnel.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    Remarque

    Le numéro de version et le nom varient en fonction de votre version actuelle du générateur d’API de données. À ce stade, vous ne pouvez pas accéder aux points de terminaison d’API. Ces points de terminaison seront disponibles une fois que vous montez un fichier de configuration DAB.

  4. Accédez au /api/swagger chemin de l’application en cours d’exécution. Utilisez l’interface utilisateur Swagger pour émettre une requête HTTP GET pour l’une de vos entités.

Nettoyer les ressources

Lorsque vous n’avez plus besoin de l’exemple d’application ou de ressources, supprimez le déploiement correspondant et toutes les ressources.

  1. Accédez au groupe de ressources à l’aide du portail Azure.

  2. Dans la barre de commandes, sélectionnez Supprimer.

Étape suivante