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

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

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

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

Les proxys de cible hébergés sont-ils compatibles avec les API de gestion ?

Aucune nouvelle API de gestion n'a été créée ou aucune API existante n'a été modifiée pour prendre en charge les cibles hébergées. Toutefois, vous pouvez utiliser des API de gestion existantes pour déployer et gérer des proxys qui utilisent des cibles hébergées, à condition que les proxys cibles hébergés 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 repose Hosted Targets, 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 la section Adresses IP statiques et applications App Engine de la FAQ GAE.

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

Non. Une seule application 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 le manque d'accès à Apigee ?

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

  • Utilisez des règles Edge : si 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 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. Cette information est documentée dans la section du guide de l'utilisateur concernant le fichier manifeste.

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 sur cette page. Les cibles hébergées utilisent Node.js natif, et donc OpenSSL de manière native. Veuillez consulter la documentation TLS (SSL) fournie par la documentation Node.js lorsque vous configurez 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 d'appels consécutifs. Par conséquent, si vous ne les supprimez pas, une erreur de mémoire insuffisante et un démarrage à froid ultérieur peuvent se produire.

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 des chemins de base différents. Toutefois, ce comportement n'est pas compatible avec les cibles hébergées.

La taille des en-têtes 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 et versions ultérieures, 8 ko est la taille maximale d'en-tête de requête que vous pouvez utiliser dans une application Node.js. 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. 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éponses HTTP n'est pas compatible avec les cibles hébergées, car la technologie sur laquelle les cibles hébergées sont créé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 dans la documentation de GAE.