Partager via


Prise en charge des API dans Azure Static Web Apps avec Azure Container Apps

Azure Container Apps est une plateforme managée pour héberger des conteneurs serverless et des microservices.

Lorsque vous liez votre application conteneur à votre application web statique, toutes les demandes adressées à votre application web statique avec un itinéraire qui commence /api par sont proxiées vers le même itinéraire dans l’application conteneur.

Par défaut, lorsqu’une application conteneur est liée à une application web statique, l’application conteneur accepte uniquement les demandes qui sont proxiées via l’application web statique liée. Une application conteneur peut être liée à une seule application web statique à la fois.

Les options d’API pour Static Web Apps incluent les services Azure suivants :

Pour plus d’informations, consultez la Vue d’ensemble des API.

Remarque

L’intégration à Azure Container Apps nécessite le plan Standard de Static Web Apps.

L’intégration du serveur principal n’est pas prise en charge sur les environnements de demande de tirage (pull request) Static Web Apps.

Prérequis

Pour lier une application conteneur à votre application web statique, vous devez disposer d’une ressource Container Apps existante et d’une application web statique.

Ressource Description
Azure Container Apps Si vous n’en avez pas encore, suivez les étapes décrites dans le guide Déployer votre première application conteneur.
Application web statique existante Si vous n’en avez pas encore, suivez les étapes du guide de prise en main pour créer une application web statique No Framework.

Exemple

Prenons l’exemple d’une instance Azure Container Apps existante qui expose un point de terminaison via l’emplacement suivant.

https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts

Une fois la liaison établie, vous pouvez accéder à ce même point de terminaison via le chemin d’accès api à partir de votre application web statique, comme indiqué dans cet exemple d’URL.

https://red-sea-123.azurestaticapps.net/api/getProducts

Les deux URL pointent vers le même point de terminaison d’API. Le point de terminaison sur l’application conteneur doit avoir le préfixe /api, car Static Web Apps met en correspondance les requêtes adressées à /api et proxyse le chemin d’accès entier vers la ressource liée.

Pour lier une application de conteneur en tant que back-end d’API pour une application web statique, procédez comme suit :

  1. Dans le portail Azure, accédez à l’application web statique.

  2. Dans le menu de navigation, sélectionnez API.

  3. Recherchez l’environnement auquel vous souhaitez lier l’instance Gestion des API. Sélectionnez Lien.

  4. Dans Type de ressource back-end, sélectionnez Application conteneur.

  5. Dans Abonnement, sélectionnez l’abonnement contenant l’application conteneur que vous souhaitez lier.

  6. Dans Nom de la ressource, sélectionnez l’application conteneur.

  7. Sélectionnez Lien.

Lorsque le processus de liaison est terminé, les demandes d’itinéraires commençant par /api sont proxiées vers l’application conteneur.

Gérer l’accès à l’application conteneur

Votre application conteneur est configurée avec un fournisseur d’identité nommé Azure Static Web Apps (Linked) qui autorise uniquement le trafic qui est proxié via l’application web statique. Pour rendre votre application conteneur accessible à d’autres applications, mettez à jour sa configuration d’authentification pour ajouter un autre fournisseur d’identité ou modifier les paramètres de sécurité afin d’autoriser l’accès non authentifié.

Pour dissocier une application conteneur à partir d’une application web statique, procédez comme suit :

  1. Dans le portail Azure, accédez à l’application web statique.

  2. Dans le menu de navigation, sélectionnez API.

  3. Recherchez l’environnement que vous souhaitez dissocier et sélectionnez le nom de l’application conteneur.

  4. Sélectionnez Dissocier.

Lorsque le processus de dissociation est terminé, les demandes d’itinéraires commençant /api par sont proxiées vers votre application conteneur.

Remarque

Pour éviter d’exposer accidentellement votre application conteneur au trafic anonyme, le fournisseur d’identité créé par le processus de liaison n’est pas automatiquement supprimé. Vous pouvez supprimer le fournisseur d’identité nommé Azure Static Web Apps (lié) des paramètres d’authentification de l’application conteneur.

Supprimer l’authentification de la ressource Container Apps

Pour permettre à votre ressource Container Apps de recevoir le trafic anonyme, procédez comme suit pour supprimer le fournisseur d’identité :

  1. Dans le portail Azure, accédez à la ressource Container Apps.

  2. Sélectionnez Authentication dans le menu de navigation.

  3. Dans la liste des fournisseurs d’identité, supprimez le fournisseur d’identité associé à la ressource Static Web Apps.

  4. Sélectionnez Supprimer l’authentification pour supprimer l’authentification et autoriser le trafic anonyme vers votre ressource Container Apps.

Votre ressource Container Apps est maintenant en mesure de recevoir le trafic anonyme.

Étapes suivantes