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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

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

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

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

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

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

La technologie sur laquelle repose 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. Il est donc possible d'autoriser une plage d'adresses IP. Pour en savoir plus, consultez cette entrée de la FAQ GAE : Adresses IP statiques et applications App Engine.

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

Non. Une seule application de cible hébergée 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 l'absence d'apigee-access ?

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

  • Utiliser des règles Edge : dans la mesure du possible, utilisez des règles Edge standards pour remplacer ce que fait votre code apigee-access existant.
  • Utiliser des en-têtes : vous pouvez placer des valeurs KVM et des variables de flux dans votre application Node.js dans les en-têtes de requête HTTP. Cette stratégie fonctionne pour les valeurs KVM ou les variables de flux qui sont disponibles dans le flux de requête 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. Cette opération est décrite dans la partie du fichier manifeste du guide de l'utilisateur.

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

Les cibles hébergées ne sont pas compatibles avec JKS pour TLS en remplacement des fichiers PEM. Pour en savoir plus, consultez la documentation précédente ici. Les cibles hébergées utilisent Node.js natif et donc OpenSSL de manière native. Veuillez vous reporter à la documentation TLS (SSL) fournie par la documentation Node.js lors de la configuration des connexions TLS/SSL.

Quel est le meilleur moyen 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 des appels consécutifs. Par conséquent, si vous ne les supprimez pas, cela peut 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 créer le chemin d'accès au fichier temporaire, afin 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 avec différents chemins de base. Toutefois, ce comportement n'est pas compatible avec 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 ou version ultérieure), ainsi que pour les versions LTS, y compris 6.14.0 ou version ultérieure, 8.14.0 ou version ultérieure et 11.3.0 ou version ultérieure, la taille maximale de l'en-tête de requête que vous pouvez utiliser dans une application Node.js est de 8 Ko. Si vous souhaitez transmettre des en-têtes de plus de 8 Ko, spécifiez une autre version de Node.js qui ne figure pas dans la liste ci-dessus. Vous pouvez le faire dans 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 repose les cibles hébergées, Google App Engine (GAE), n'est pas compatible avec le streaming.

Existe-t-il une limite de délai avant expiration des requêtes ?

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