Tous les produits
Search
Centre de documentation

Platform For AI:Deploy a service with JSON configuration

Dernière mise à jour :Sep 22, 2026

Dans EAS, vous pouvez définir et déployer un service d'inférence en ligne à l'aide d'un fichier de configuration JSON.

Afficher la configuration JSON d'un service déployé

Si vous avez déjà déployé un service dans la console, y compris via le déploiement en un clic depuis Model Gallery, il n'est pas nécessaire de rédiger un fichier de configuration JSON à partir de zéro. Un service déployé depuis Model Gallery est un service EAS qui utilise la même structure de configuration JSON qu'un déploiement JSON standard. Vous pouvez afficher la configuration JSON complète d'un service déployé, la copier et l'utiliser comme point de départ pour un déploiement personnalisé.

Pour afficher la configuration JSON d'un service déployé, procédez comme suit :

  1. Accédez à l'onglet Inference Service dans la console EAS.

  2. Cliquez sur le nom du service cible pour accéder à la page des détails du service.

  3. Sélectionnez l'onglet Service Configuration. La configuration JSON complète du service s'affiche. Vous pouvez consulter et copier cette configuration.

Vous pouvez ajuster la configuration JSON copiée selon les indications fournies dans la section Annexe : Paramètres JSON, puis l'utiliser lors de la procédure de déploiement JSON décrite dans la section Démarrage rapide.

Remarque

L'image d'exécution, la commande du point d'entrée (command ou script) ainsi que le type d'instance du service en cours d'exécution figurent tous dans cette configuration JSON et sont visibles sous l'onglet Service Configuration. Cet onglet affiche la configuration intégrale sans champs masqués supplémentaires ; il n'est donc pas nécessaire de récupérer ces paramètres séparément. Vous pouvez utiliser la configuration JSON exportée pour basculer vers un déploiement personnalisé et gérer le service avec une granularité fine.

Démarrage rapide

1. Préparer un fichier de configuration JSON

Le déploiement d'un service nécessite un fichier JSON définissant les configurations requises. Pour les nouveaux utilisateurs, nous recommandons de naviguer vers Custom Model Deployment > Custom Deployment afin de configurer les paramètres. Le système génère automatiquement la configuration JSON, que vous pouvez utiliser comme modèle.

Le code ci-dessous présente un exemple de fichier service.json. Pour obtenir la liste complète des paramètres, consultez la section Annexe : Référence des paramètres JSON.

{
    "metadata": {
        "name": "demo",
        "instance": 1,
        "workspace_id": "your-workspace-id"
    },
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ecs.c7a.large"
                }
            ]
        }
    },
    "containers": [
        {
            "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/python-inference:py39-ubuntu2004",
            "script": "python app.py",
            "port": 8000
        }
    ]
}

2. Déployer le service avec JSON

  1. Connectez-vous à la console PAI. Sélectionnez une région en haut de la page. Ensuite, choisissez l'espace de travail souhaité et cliquez sur Enter Elastic Algorithm Service (EAS).

  2. Sous l'onglet Inference Service , cliquez sur Deploy Service. Dans la section Custom Model Deployment , sélectionnez ensuite JSON Deployment.

  3. Collez votre configuration JSON et cliquez sur Deploy. Un état de service « Running » indique que le déploiement a réussi.

Annexe : Paramètres JSON

Paramètre

Obligatoire

Description

metadata

Oui

Les métadonnées du service. Pour plus d'informations, consultez les paramètres metadata.

cloud

Non

Les configurations des ressources de calcul et du VPC. Pour plus d'informations, consultez les paramètres cloud.

containers

Non

La configuration de l'image. Pour plus d'informations, consultez les paramètres containers.

dockerAuth

Non

Ce paramètre est requis pour accéder à un dépôt privé nécessitant une authentification. La valeur correspond à la chaîne encodée en Base64 de username:password.

networking

Non

La configuration d'appel du service. Pour plus d'informations, consultez les paramètres networking.

storage

Non

Monte les données provenant de services de stockage tels qu'OSS ou NAS dans le conteneur. Pour les détails de configuration, consultez le montage de stockage.

token

Non

Le jeton d'accès pour l'authentification du service. Si ce paramètre n'est pas spécifié, le système en génère automatiquement un.

aimaster

Non

Active la vérification de la puissance de calcul et la tolérance aux pannes pour les services d'inférence distribués multi-nœuds.

model_path

Oui

Requis lors du déploiement d'un service avec un processeur. Les paramètres model_path et processor_path spécifient respectivement les emplacements des sources de données d'entrée pour le modèle et le processeur. Les formats suivants sont pris en charge :

  • Chemin OSS : l'URL peut pointer vers un fichier spécifique ou un répertoire.

  • URL HTTP : l'URL doit pointer vers une archive compressée, telle qu'un fichier TAR.GZ, TAR, BZ2 ou ZIP.

  • Chemin local : un chemin local peut être utilisé pour le débogage local avec la commande test.

oss_endpoint

Non

Le point de terminaison OSS, par exemple oss-cn-beijing.aliyuncs.com. Pour les autres valeurs valides, consultez les Régions et points de terminaison.

Remarque

Par défaut, vous n'avez pas besoin de spécifier ce paramètre. Le service utilise le point de terminaison OSS interne de la région actuelle pour télécharger les fichiers de modèle ou de processeur. Vous devez spécifier ce paramètre lorsque vous accédez à OSS depuis une autre région. Par exemple, si vous déployez un service dans la région de Hangzhou et spécifiez une adresse OSS dans la région de Pékin pour model_path, vous devez utiliser ce paramètre pour spécifier le point de terminaison OSS public de la région de Pékin.

model_entry

Non

Le fichier d'entrée du modèle, qui peut être n'importe quel fichier contenu dans le package du modèle. S'il n'est pas spécifié, il prend par défaut le nom de fichier issu de model_path. Le chemin d'accès à ce fichier d'entrée est transmis à la fonction initialize() du processeur.

model_config

Non

La configuration du modèle, qui peut être n'importe quel texte. Cette valeur est transmise comme deuxième argument à la fonction initialize() du processeur.

processor

Non

  • Si vous utilisez un processeur prédéfini, spécifiez son code. Pour les codes des processeurs prédéfinis disponibles dans eascmd, consultez les processeurs prédéfinis.

  • Si vous utilisez un processeur personnalisé, configurez plutôt les paramètres processor_path, processor_entry, processor_mainclass et processor_type.

processor_path

Non

Le chemin d'accès au package du processeur. Pour les formats de chemin pris en charge, consultez la description du paramètre model_path.

processor_entry

Non

Le fichier d'entrée du processeur, tel que libprocessor.so ou app.py. Ce fichier doit implémenter les fonctions initialize() et process() requises pour l'inférence.

Ce paramètre est obligatoire si processor_type est défini sur cpp ou python.

processor_mainclass

Non

La classe principale du processeur dans le package JAR. Par exemple, com.aliyun.TestProcessor.

Ce paramètre est obligatoire si processor_type est défini sur java.

processor_type

Non

Le langage d'implémentation du processor. Les valeurs valides sont les suivantes :

  • cpp

  • java

  • python

warm_up_data_path

Non

Le chemin d'accès au fichier de requête utilisé pour l'échauffement du modèle. Pour plus d'informations sur cette fonctionnalité, consultez l'échauffement du modèle.

runtime.enable_crash_block

Non

Indique si une instance qui plante en raison d'une exception dans le code du processeur redémarre automatiquement. Valeurs valides :

  • true : l'instance ne redémarre pas automatiquement, ce qui préserve l'environnement d'exécution pour le dépannage.

  • false (par défaut) : l'instance redémarre automatiquement.

autoscaler

Non

La configuration de la mise à l'échelle automatique horizontale. Pour une description détaillée des paramètres, consultez la mise à l'échelle automatique horizontale.

labels

Non

Les libellés à appliquer au service. Utilisez le format key:value.

unit.size

Non

Le nombre de machines par instance dans une configuration d'inférence distribuée. La valeur par défaut est 2.

sinker

Non

Persiste toutes les requêtes et réponses du service dans MaxCompute ou Log Service (SLS). Pour une description détaillée des paramètres, consultez les paramètres sinker.

confidential

Non

Configure Trustee afin de garantir que les informations telles que les données, les modèles et le code restent chiffrées pendant le déploiement et l'appel du service. Cela permet de mettre en place un service d'inférence sécurisé et chiffré. Le format est le suivant :

Remarque

L'environnement de chiffrement sécurisé protège principalement les fichiers de stockage montés. Assurez-vous d'avoir monté ces fichiers avant d'activer cette fonctionnalité.

"confidential": {
        "trustee_endpoint": "xxxx",
        "decryption_key": "xxxx"
    }

.

  • trustee_endpoint : l'URI de Trustee.

  • decryption_key : l'URI KBS de la clé de déchiffrement. Par exemple, kbs:///default/key/test-key.

Paramètres de métadonnées

Paramètres généraux

Paramètre

Obligatoire

Description

name

Oui

Nom du service. Il doit être unique au sein d'une région.

instance

Oui

Nombre d'instances pour le service.

workspace_id

Non

ID de l'espace de travail PAI. Si ce paramètre est spécifié, le service est limité à cet espace de travail. Exemple : 1405**.

cpu

Non

Nombre de cœurs CPU requis pour chaque instance.

memory

Non

Quantité de mémoire requise pour chaque instance, en Mo. La valeur doit être un entier. Par exemple, "memory": 4096 indique que chaque instance nécessite 4 Go de mémoire.

gpu

Non

Nombre de GPU requis pour chaque instance.

gpu_memory

Non

Active le découpage GPU, qui permet à plusieurs instances de partager un seul GPU. Ce paramètre ne peut être configuré qu'avec des groupes de ressources dédiés ou des quotas de ressources.

gpu_core_percentage

qos

Non

Spécifie la qualité de service (QoS) pour l'instance. Valeurs valides : BestEffort ou omission. Lorsque qos est défini sur BestEffort, l'instance passe en mode de partage du CPU. Dans ce mode, la planification repose sur la mémoire GPU et la mémoire système, et ignore le nombre de cœurs CPU sur le nœud. Toutes les instances sur le nœud partagent les ressources CPU. Le paramètre cpu spécifie alors le quota CPU maximal qu'une seule instance peut utiliser.

resource

Non

ID du groupe de ressources. La politique de déploiement est la suivante :

  • En cas de déploiement dans un groupe de ressources public, omettez ce paramètre. Le service est alors facturé selon le modèle de paiement à l'utilisation.

  • En cas de déploiement dans un groupe de ressources dédié, définissez ce paramètre sur l'ID du groupe de ressources. Exemple : eas-r-6dbzve8ip0xnzt****.

cuda

Non

Version CUDA requise par le service. Au moment de l'exécution, la version CUDA spécifiée est automatiquement montée dans le répertoire /usr/local/cuda de l'instance.

Versions CUDA prises en charge : 8,0, 9,0, 10,0, 10,1, 10,2, 11,0, 11,1 et 11,2. Exemple : "cuda":"11.2".

rdma

Non

Indique s'il faut activer la mise en réseau RDMA pour l'inférence distribuée. Définissez la valeur sur 1 pour activer la mise en réseau RDMA. Si ce paramètre est omis, cette fonctionnalité est désactivée.

Remarque

Actuellement, la mise en réseau RDMA est disponible uniquement pour les services déployés à l'aide des ressources de calcul intelligent Lingjun.

enable_grpc

Non

Indique s'il faut activer les connexions gRPC pour la passerelle de service. Valeurs valides :

  • false (Par défaut) : Désactive les connexions gRPC. La passerelle prend en charge les requêtes HTTP par défaut.

  • true : Active les connexions gRPC.

Remarque

Si vous déployez un service à l'aide d'une image personnalisée avec un serveur basé sur gRPC, vous devez définir ce paramètre pour basculer le protocole de la passerelle vers gRPC.

enable_webservice

Non

Indique s'il faut activer un serveur web pour déployer le service en tant qu'application AI-Web.

  • false (Par défaut) : Le serveur web n'est pas activé.

  • true : Le serveur web est activé.

type

Non

Définissez ce paramètre sur LLMGatewayService pour déployer un service de routeur intelligent LLM. Pour plus d'informations, consultez Déployer un routeur intelligent LLM.

Paramètres avancés

Important

Modifiez ces paramètres avancés avec prudence.

Paramètre

Obligatoire

Description

rpc

batching

Non

Active le regroupement côté serveur pour accélérer l'inférence de modèles GPU. Cette fonctionnalité est prise en charge uniquement en mode processeur prédéfini. Valeurs valides :

  • false (Par défaut) : Désactive le regroupement côté serveur.

  • true : Active le regroupement côté serveur.

keepalive

Non

Durée maximale de traitement d'une seule requête, en millisecondes. Si le temps de traitement dépasse cette valeur, le serveur renvoie une erreur 408 Timeout et ferme la connexion. La valeur par défaut est 600000 pour les passerelles dédiées. Ce paramètre n'est pas pris en charge pour les passerelles dédiées basées sur Application Load Balancer (ALB).

io_threads

Non

Nombre de threads utilisés pour traiter les requêtes d'E/S réseau dans chaque instance. La valeur par défaut est 4.

max_batch_size

Non

Taille maximale de chaque lot. La valeur par défaut est 16. Ce paramètre prend effet uniquement lorsque rpc.batching est défini sur true. Cette fonctionnalité est prise en charge uniquement en mode processeur prédéfini.

max_batch_timeout

Non

Délai d'attente maximal pour chaque lot, en millisecondes. La valeur par défaut est 50. Ce paramètre prend effet uniquement lorsque rpc.batching est défini sur true. Cette fonctionnalité est prise en charge uniquement en mode processeur prédéfini.

max_queue_size

Non

Longueur maximale de la file d'attente pour un service d'inférence asynchrone. La valeur par défaut est 64. Si la file d'attente est pleine, le serveur renvoie une erreur 450 et ferme la connexion. Cela permet au client de réessayer sur d'autres instances et d'éviter la surcharge du serveur. Pour les services avec des temps de réponse (RT) longs, vous pouvez réduire la longueur de la file d'attente pour éviter l'accumulation de requêtes et les délais d'attente.

worker_threads

Non

Nombre de threads dans chaque instance utilisés pour traiter simultanément les requêtes. La valeur par défaut est 5. Cette fonctionnalité est prise en charge uniquement en mode processeur prédéfini.

rate_limit

Non

Active la limitation du débit QPS et spécifie le QPS maximal qu'une instance peut traiter. La valeur par défaut est 0, ce qui indique que la limitation du débit QPS est désactivée.

Par exemple, si vous définissez ce paramètre sur 2000, les requêtes sont rejetées avec une erreur 429 (Too Many Requests) lorsque le QPS dépasse 2 000.

enable_sigterm

Non

Valeurs valides :

  • false (Par défaut) : Le système n'envoie pas de signal SIGTERM lorsqu'une instance entre dans l'état de terminaison.

  • true : Lorsqu'une instance de service entre dans l'état de terminaison, le système envoie immédiatement un signal SIGTERM au processus principal. Le processus au sein du service doit gérer ce signal pour effectuer une terminaison gracieuse personnalisée. Si le signal n'est pas géré, le processus principal peut se terminer immédiatement, empêchant une terminaison gracieuse.

rolling_strategy

max_surge

Non

Nombre maximal d'instances supplémentaires créées au-delà du nombre souhaité lors d'une mise à jour progressive. La valeur peut être un entier positif indiquant le nombre d'instances, ou un pourcentage, tel que 2 %. La valeur par défaut est 2 %. Une valeur plus élevée accélère les mises à jour de service.

Par exemple, si le nombre d'instances de service est de 100 et que vous définissez ce paramètre sur 20, 20 nouvelles instances sont créées immédiatement après le début de la mise à jour du service.

max_unavailable

Non

Nombre maximal d'instances indisponibles lors d'une mise à jour progressive. Ce paramètre peut libérer des ressources pour les nouvelles instances lors d'une mise à jour et empêcher le blocage de la mise à jour en raison de ressources insuffisantes. La valeur par défaut est 1 pour les groupes de ressources dédiés et 0 pour les groupes de ressources publics.

Par exemple, si vous définissez ce paramètre sur N, N instances sont arrêtées immédiatement après le début de la mise à jour du service.

Remarque

Si les ressources inactives sont suffisantes, vous pouvez définir ce paramètre sur 0. Une valeur élevée peut affecter la stabilité du service car le nombre d'instances disponibles diminue pendant la mise à jour, ce qui augmente la charge de trafic sur une seule instance. Équilibrez la stabilité du service avec la disponibilité des ressources lors de la configuration de ce paramètre.

eas.termination_grace_period

Non

Période de terminaison gracieuse d'une instance, en secondes. La valeur par défaut est 30.

Les services EAS utilisent une stratégie de mise à jour progressive. Une instance entre d'abord dans l'état Terminating, et le service redirige le trafic loin de l'instance en cours de terminaison. L'instance attend ensuite 30 secondes pour traiter toutes les requêtes reçues avant de se terminer. Si le traitement des requêtes prend beaucoup de temps, vous pouvez augmenter cette valeur pour vous assurer que toutes les requêtes en cours sont traitées lors d'une mise à jour de service.

Important

Une valeur plus faible peut affecter la stabilité du service, tandis qu'une valeur plus élevée peut ralentir les mises à jour de service. Modifiez ce paramètre uniquement si nécessaire.

scheduling

spread.policy

Non

Politique de répartition pour la planification des instances de service. Les politiques suivantes sont prises en charge :

  • host : Répartit les instances sur différents nœuds.

  • zone : Répartit les instances sur différentes zones de disponibilité.

  • default : Planifie les instances selon la politique par défaut en utilisant la stratégie de placement par défaut du système.

Exemple de configuration :

{
  "metadata": {
    "scheduling": {
      "spread": {
        "policy": "host"
      }
    }
}

resource_rebalancing

Non

Valeurs valides :

  • false (Par défaut) : Cette fonctionnalité est désactivée.

  • true : EAS crée périodiquement des instances de sondage sur des ressources prioritaires. Si une instance de sondage est planifiée avec succès, elle crée davantage d'instances de sondage de manière exponentielle jusqu'à ce que la planification échoue. Lorsqu'une instance de sondage planifiée avec succès termine son initialisation et devient prête, elle remplace une instance s'exécutant sur une ressource de priorité inférieure.

Cette fonctionnalité aide à résoudre les problèmes suivants :

  • Empêche la planification temporaire de nouvelles instances dans un groupe de ressources public lors d'une mise à jour progressive. Cela peut se produire lorsque les instances en cours de terminaison dans un groupe de ressources dédié n'ont pas encore libéré leurs ressources.

  • Lors de l'utilisation simultanée d'instances spot et régulières, le système vérifie périodiquement la disponibilité des instances spot et migre les instances régulières vers celles-ci.

resource_burstable

Non

Active la fonctionnalité de pool de ressources élastiques pour un service EAS déployé dans un groupe de ressources dédié.

  • true : Active la fonctionnalité.

  • false : Désactive la fonctionnalité.

shm_size

Non

Taille de la mémoire partagée pour chaque instance, en Go. La mémoire partagée permet des opérations de lecture et d'écriture directes, éliminant ainsi le besoin de copier ou de transférer des données.

Paramètres Cloud

Paramètre

Obligatoire

Description

computing

instances

Non

Spécifie une liste de types d'instance à utiliser lors du déploiement du service dans un groupe de ressources public. Si une enchère pour une instance spot échoue ou si un type d'instance est en rupture de stock, le système crée le service en utilisant le type d'instance suivant dans la liste.

  • type : Type d'instance.

  • spot_price_limit : Facultatif.

    • Si vous spécifiez ce paramètre, le type d'instance devient une instance spot de paiement à l'utilisation, et cette valeur représente son prix maximum en USD.

    • Si vous omettez ce paramètre, une instance régulière de paiement à l'utilisation est créée.

  • capacity : Nombre maximal d'instances de ce type à créer. Vous pouvez spécifier un nombre, tel que « 500 », ou un pourcentage sous forme de chaîne, tel que « 20 % ». Une fois la limite de capacité atteinte, le système arrête la création d'instances de ce type, même si des ressources sont disponibles.

    Par exemple, si le nombre total d'instances pour un service est de 200 et que vous définissez la capacity d'un type d'instance sur 20 %, le système lance un maximum de 40 instances de ce type. Les instances restantes sont lancées en utilisant d'autres types d'instance spécifiés.

disable_spot_protection_period

Non

Indique s'il faut désactiver la période de protection pour une instance spot. Ce paramètre s'applique uniquement aux instances spot. Valeurs valides :

  • false (Par défaut) : L'instance spot dispose d'une période de protection d'une heure après sa création. Pendant la période de protection, le système ne récupère pas l'instance même si le prix du marché dépasse votre enchère.

  • true : Désactive la période de protection. Les instances sans période de protection sont généralement environ 10 % moins chères que celles avec une période de protection.

networking

vpc_id

Non

ID du VPC.

vswitch_id

Non

ID du vSwitch.

security_group_id

Non

ID du groupe de sécurité.

destination_cidrs

Non

Si le bloc CIDR du vSwitch configuré entre en conflit avec les blocs CIDR de gestion EAS (10.224.0.0/16 ou 10.240.0.0/12), vous devez explicitement définir ce paramètre sur le bloc CIDR de votre vSwitch.
Exemple :

"cloud": {
    "networking": {
      "destination_cidrs": "10.241.28.0/22"
    }
  } 

Remplacez 10.241.28.0/22 par le bloc CIDR réel de votre vSwitch.

Exemple :

{
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ecs.c8i.2xlarge",
                    "spot_price_limit": 1
                },
                {
                    "type": "ecs.c8i.xlarge",
                    "capacity": "20%"
                }
            ],
            "disable_spot_protection_period": false
        },
        "networking": {
            "vpc_id": "vpc-bp1oll7xawovg9*****",
            "vswitch_id": "vsw-bp1jjgkw51nsca1e****",
            "security_group_id": "sg-bp1ej061cnyfn0b*****"
        }
    }
}

Paramètres du conteneur

Pour déployer un service à l'aide d'une image personnalisée, consultez la rubrique Images personnalisées.

Paramètre

Obligatoire

Description

image

Oui

L'adresse de l'image pour le service de modèle. Ce paramètre est requis lors d'un déploiement par image.

env

name

Non

Le nom de la variable d'environnement.

value

Non

La valeur de la variable d'environnement.

command

Vous devez spécifier soit command, soit script.

La commande de point d'entrée pour l'image. Ce paramètre ne prend en charge qu'une seule commande. Pour les scripts complexes, tels que cd xxx && python app.py, utilisez le paramètre script. Utilisez le paramètre command si l'image ne dispose pas de la commande /bin/sh.

script

Le script de point d'entrée pour l'image. Vous pouvez spécifier des scripts complexes sur plusieurs lignes. Séparez les commandes par \n ou un point-virgule (;).

port

Non

Le port du conteneur.

Important
  • Le moteur EAS écoute sur les ports fixes 8080 et 9090. Pour éviter les conflits de ports, assurez-vous que le port du conteneur n'est ni 8080 ni 9090.

  • Ce port doit correspondre au port configuré dans le fichier xxx.py spécifié par le paramètre command.

prepare

pythonRequirements

Non

Une liste des dépendances Python à installer avant le démarrage de l'instance. L'image doit disposer des commandes python et pip disponibles dans le PATH système. Par exemple :

"prepare": {
  "pythonRequirements": [
    "numpy==1.16.4",
    "absl-py==0.11.0"
  ]
}

pythonRequirementsPath

Non

Le chemin d'accès à un fichier requirements.txt pour l'installation des packages Python avant le démarrage de l'instance. L'image doit disposer des commandes python et pip disponibles dans le PATH système. Ce fichier peut être inclus dans l'image ou monté depuis un stockage externe. Par exemple :

"prepare": {
  "pythonRequirementsPath": "/data_oss/requirements.txt"
}

Paramètres réseau

Paramètre

Obligatoire

Description

gateway

Non

Spécifie la passerelle dédiée pour le service EAS.

gateway_policy

Non

  • rate_limit : Définit le nombre maximal de requêtes par seconde (QPS) pour la limitation globale du débit.

    • enable : Définissez sur true pour activer la limitation du débit, ou sur false pour la désactiver.

    • limit : Le QPS maximal.

      Remarque

      Les services sur une passerelle partagée ont par défaut 1 000 QPS par service et 10 000 QPS par groupe de serveurs. Les passerelles dédiées n'ont aucune valeur par défaut.

  • concurrency_limit : Définit le nombre maximal de requêtes simultanées pour le contrôle global de la concurrence. Ce paramètre n'est pas pris en charge pour les passerelles dédiées basées sur ALB.

    • enable : Définissez sur true pour activer le contrôle de la concurrence, ou sur false pour le désactiver.

    • limit : Le nombre maximal de requêtes simultanées.

Exemple de configuration :

{
        "networking": {
            "gateway_policy": {
                "rate_limit": {
                    "enable": true,
                    "limit": 100
                },
                "concurrency_limit": {
                    "enable": true,
                    "limit": 50
                }
            }
        }
    }

Paramètres Sinker

Paramètre

Obligatoire

Description

type

Non

Spécifie le service de stockage de destination. Valeurs prises en charge :

  • maxcompute : MaxCompute.

  • sls : Log Service (SLS).

config

maxcompute.project

Non

Le nom du projet MaxCompute.

maxcompute.table

Non

Le nom de la table MaxCompute.

sls.project

Non

Le nom du projet Log Service (SLS).

sls.logstore

Non

Le nom du Logstore.

Exemples de configurations :

Sink to MaxCompute

"sinker": {
        "type": "maxcompute",
        "config": {
            "maxcompute": {
                "project": "cl****",
                "table": "te****"
            }
        }
    }

Sink to SLS

"sinker": {
        "type": "sls",
        "config": {
            "sls": {
                "project": "k8s-log-****",
                "logstore": "d****"
            }
        }
    }

Exemple de configuration JSON

Voici un exemple de configuration JSON :

{
  "token": "****M5Mjk0NDZhM2EwYzUzOGE0OGMx****",
  "processor": "tensorflow_cpu_1.12",
  "model_path": "oss://examplebucket/exampledir/",
  "oss_endpoint": "oss-cn-beijing.aliyuncs.com",
  "model_entry": "",
  "model_config": "",
  "processor_path": "",
  "processor_entry": "",
  "processor_mainclass": "",
  "processor_type": "",
  "warm_up_data_path": "",
  "runtime": {
    "enable_crash_block": false
  },
  "unit": {
        "size": 2
    },
  "sinker": {
        "type": "MaxCompute",
        "config": {
            "maxcompute": {
                "project": "cl****",
                "table": "te****"
            }
        }
    },
  "cloud": {
    "computing": {
      "instances": [
        {
          "capacity": 800,
          "type": "dedicated_resource"
        },
        {
          "capacity": 200,
          "type": "ecs.c7.4xlarge",
          "spot_price_limit": 3.6
        }
      ],
      "disable_spot_protection_period": true
    },
    "networking": {
            "vpc_id": "vpc-bp1oll7xawovg9t8****",
            "vswitch_id": "vsw-bp1jjgkw51nsca1e****",
            "security_group_id": "sg-bp1ej061cnyfn0b****"
        }
  },
  "autoscaler": {
    "min": 2,
    "max": 5,
    "strategies": {
      "qps": 10
    }
  },
  "storage": [
    {
      "mount_path": "/data_oss",
      "oss": {
        "endpoint": "oss-cn-shanghai-internal.aliyuncs.com",
        "path": "oss://bucket/path/"
      }
    }
  ],
  "confidential": {
        "trustee_endpoint": "xx",
        "decryption_key": "xx"
    },
  "metadata": {
    "name": "test_eascmd",
    "resource": "eas-r-9lkbl2jvdm0puv****",
    "instance": 1,
    "workspace_id": "1405**",
    "gpu": 0,
    "cpu": 1,
    "memory": 2000,
    "gpu_memory": 10,
    "gpu_core_percentage": 10,
    "qos": "",
    "cuda": "11.2",
    "enable_grpc": false,
    "enable_webservice": false,
    "rdma": 1,
    "rpc": {
      "batching": false,
      "keepalive": 5000,
      "io_threads": 4,
      "max_batch_size": 16,
      "max_batch_timeout": 50,
      "max_queue_size": 64,
      "worker_threads": 5,
      "rate_limit": 0,
      "enable_sigterm": false
    },
    "rolling_strategy": {
      "max_surge": 1,
      "max_unavailable": 1
    },
    "eas.termination_grace_period": 30,
    "scheduling": {
      "spread": {
        "policy": "host"
      }
    },
    "resource_rebalancing": false,
    "shm_size": 100
  },
  "features": {
    "eas.aliyun.com/extra-ephemeral-storage": "100Gi",
    "eas.aliyun.com/gpu-driver-version": "tesla=550.127.08"
  },
  "networking": {
    "gateway": "gw-m2vkzbpixm7mo****"
  },
  "containers": [
    {
      "image": "registry-vpc.cn-shanghai.aliyuncs.com/xxx/yyy:zzz",
      "prepare": {
        "pythonRequirements": [
          "numpy==1.16.4",
          "absl-py==0.11.0"
        ]
      },
      "command": "python app.py",
      "port": 8000
    }
  ],
  "dockerAuth": "dGVzdGNhbzoxM*******"
}