Questions fréquentes sur les cibles hébergées

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Le nombre de cibles hébergées que je peux créer ou déployer est-il limité ?

Consultez la fiche de spécifications de la matrice de comparaison Apigee Edge pour Cloud pour en savoir plus sur les droits d'accès des cibles hébergées pour votre plan.

L'API de gestion est-elle compatible avec les proxys cibles hébergés ?

Aucune API de gestion n'a été créée ou API existantes modifiées pour prendre en charge les cibles hébergées. Toutefois, vous pouvez utiliser les API de gestion existantes pour déployer et gérer des proxys qui utilisent des cibles hébergées, à condition que ces proxys soient correctement construits. Consultez également la section Structure de répertoires requise pour votre application Node.js.

Puis-je utiliser la liste d'autorisation d'adresses IP pour sécuriser mon backend cible ?

La technologie sur laquelle reposent les cibles hébergées, Google App Engine (GAE), ne permet pas d'attribuer une adresse IP statique à une application. GAE utilise une plage de pool d'adresses IP. Par conséquent, il peut être possible d'autoriser une plage d'adresses IP. Pour plus d'informations, consultez la section Adresses IP statiques et applications App Engine des questions fréquentes de GAE.

Puis-je placer plusieurs points de terminaison cibles <HostedTarget> dans un même proxy ?

Non. Une seule application Hosted Target est déployée par proxy. L'application déployée est celle qui se trouve dans le répertoire resources/Hosted du proxy.

Est-il possible de contourner le manque d'accès Apigee ?

Vous ne pouvez pas utiliser le module apigee-access dans les applications de cibles hébergées. Si vous utilisez du code Node.js intégré traditionnel avec apigee-access et que vous souhaitez migrer vers des cibles hébergées, tenez compte des possibilités suivantes:

  • Utiliser des règles de périphérie : dans la mesure du possible, utilisez des règles de périphérie standards pour remplacer le fonctionnement de votre code apigee-access existant.
  • Utiliser des en-têtes : vous pouvez placer des valeurs KVM et des variables de flux à votre application Node.js dans des en-têtes de requête HTTP. Cette stratégie fonctionne pour les valeurs KVM ou les variables de flux disponibles dans le flux de requêtes du proxy d'API.
  • Utiliser des variables d'environnement : vous pouvez définir des variables d'environnement dont les valeurs sont fournies par le KVM. Ce point est documenté dans la partie du guide de l'utilisateur consacrée au fichier manifeste.

Puis-je utiliser des fichiers de keystores Java (JKS) pour TLS ?

Les cibles hébergées ne sont pas compatibles avec JKS pour TLS en remplacement des fichiers PEM. Consultez la documentation précédente sur cette page. Les cibles hébergées utilisent Node.js natif et donc OpenSSL de manière native. Veuillez consulter la documentation sur le protocole TLS (SSL) fournie par la documentation Node.js pour configurer des connexions TLS/SSL.

Quelle est la meilleure façon de gérer les fichiers temporaires ?

Supprimez toujours les fichiers temporaires. Le stockage sur disque local dans le répertoire temporaire est un système de fichiers en mémoire. Tous les fichiers que vous écrivez consomment de la mémoire disponible pour votre fonction. Les fichiers que vous écrivez sont généralement disponibles lors d'appels consécutifs. Par conséquent, si vous ne les supprimez pas, vous risquez d'entraîner une erreur de mémoire insuffisante et un démarrage à froid ultérieur.

N'essayez pas d'écrire en dehors du répertoire temporaire. Utilisez également des méthodes indépendantes de la plate-forme, telles que os.tmpdir() et path.join(), pour construire le chemin d'accès au fichier temporaire, de sorte que vos fonctions fonctionnent également sur l'émulateur sur n'importe quelle plate-forme.

Pour en savoir plus, consultez ce document Google Cloud.

Puis-je déployer plusieurs révisions de proxy ?

Apigee Edge vous permet de déployer plusieurs révisions d'un proxy dans un environnement doté de chemins de base différents. Cependant, ce comportement n'est pas pris en charge pour les cibles hébergées.

La taille de l'en-tête de requête est-elle limitée ?

Pour les versions les plus récentes de Node.js (11.3.0 et versions ultérieures) ainsi que pour les versions LTS, y compris 6.14.0, 8.14.0 et 11.3.0+, la taille d'en-tête de requête maximale que vous pouvez utiliser dans une application Node.js est de 8 Ko. Si vous souhaitez transmettre des en-têtes d'une taille supérieure à 8 Ko, spécifiez une autre version de Node.js qui ne figure pas dans la liste ci-dessus. Pour ce faire, utilisez le fichier manifeste de l'application. Exemple :

  runtime: node
  runtimeVersion:6.4.1
  application:my-express-app
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

Puis-je utiliser le streaming de réponse HTTP pour les cibles hébergées ?

Le streaming de réponse HTTP n'est pas compatible avec les cibles hébergées, car la technologie sur laquelle sont basées les cibles hébergées, Google App Engine (GAE), n'est pas compatible avec le streaming.

Existe-t-il un délai avant expiration des requêtes ?

Google App Engine (GAE) impose un délai avant expiration de la requête de 60 secondes. Consultez également la section Quotas et limites dans la documentation GAE.