Crée un modèle de tâche.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
sae:CreateJob |
create |
*Toutes les ressources.
|
Aucune | Aucune |
Syntaxe de la requête
POST /pop/v1/sam/job/createJob HTTP/1.1
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| AppName |
string |
Oui |
Le nom du modèle de tâche. Le nom peut contenir des chiffres, des lettres et des traits d'union (-). Il doit commencer par une lettre et peut comporter jusqu'à 36 caractères. |
test |
| NamespaceId |
string |
Non |
L'identifiant de l'espace de noms Serverless App Engine (SAE). Seuls les espaces de noms dont le nom contient des lettres minuscules et des traits d'union (-) sont pris en charge. Le nom doit commencer par une lettre. |
cn-beijing:test |
| AppDescription |
string |
Non |
La description du modèle de tâche. La description peut comporter jusqu'à 1 024 caractères. |
This is a test description. |
| VpcId |
string |
Non |
L'identifiant du cloud privé virtuel (VPC) associé à l'espace de noms SAE. Dans SAE, un espace de noms ne peut être associé qu'à un seul VPC, et cette association ne peut pas être modifiée. L'association est établie lors de la création du premier modèle de tâche SAE dans l'espace de noms. Plusieurs espaces de noms peuvent être associés au même VPC. Si vous ne spécifiez pas ce paramètre, l'identifiant du VPC associé à l'espace de noms est utilisé par défaut. |
vpc-bp1aevy8sofi8mh1q**** |
| VSwitchId |
string |
Non |
L'identifiant du vSwitch auquel appartient le contrôleur d'interface réseau élastique (NIC) de l'instance de tâche. Le vSwitch doit résider dans le VPC précédent. Le vSwitch est également associé à l'espace de noms SAE. Si vous ne spécifiez pas ce paramètre, l'identifiant du vSwitch associé à l'espace de noms est utilisé par défaut. |
vsw-bp12mw1f8k3jgygk9**** |
| PackageType |
string |
Oui |
Le type de package de tâche. Valeurs valides :
|
FatJar |
| PackageVersion |
string |
Non |
La version du package de déploiement. Ce paramètre est requis lorsque PackageType est défini sur FatJar, War ou PythonZip. |
1.0.1 |
| PackageUrl |
string |
Non |
L'URL du package de déploiement. Ce paramètre est requis lorsque PackageType est défini sur FatJar, War ou PythonZip. |
http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar |
| ImageUrl |
string |
Non |
L'adresse de l'image. Ce paramètre est requis lorsque PackageType est défini sur Image. |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Jdk |
string |
Non |
La version du Java Development Kit (JDK) dont dépend le package de déploiement. Valeurs valides :
Ce paramètre n'est pas pris en charge lorsque PackageType est défini sur Image. |
Open JDK 8 |
| WebContainer |
string |
Non |
La version de Tomcat dont dépend le package de déploiement. Valeurs valides :
Ce paramètre n'est pas pris en charge lorsque PackageType est défini sur Image. |
apache-tomcat-7.0.91 |
| Cpu |
integer |
Non |
Le nombre de cœurs de processeur requis pour chaque instance. Unité : millicores. La valeur ne peut pas être 0. Seules les spécifications définies suivantes sont prises en charge :
|
1000 |
| Memory |
integer |
Non |
La taille de mémoire requise pour chaque instance. Unité : Mo. La valeur ne peut pas être 0. La taille de mémoire a une correspondance biunivoque avec le nombre de cœurs de processeur. Seules les spécifications définies suivantes sont prises en charge :
|
1024 |
| Replicas |
integer |
Oui |
Le nombre d'instances simultanées pour la tâche. |
3 |
| Command |
string |
Non |
La commande de démarrage de l'image. La commande doit être un objet exécutable qui existe dans le conteneur. Exemple :
Sur la base de l'exemple précédent, Command est défini sur echo et CommandArgs est défini sur ["abc", ">", "file0"]. |
echo |
| CommandArgs |
string |
Non |
Les arguments pour la commande de démarrage de l'image. Il s'agit des arguments requis par le paramètre Command. Format :
Dans l'exemple précédent, CommandArgs est défini sur ["abc", ">", "file0"]. La valeur ["abc", ">", "file0"] doit être convertie en chaîne au format de tableau JSON. Si ce paramètre n'est pas requis, vous n'avez pas besoin de le spécifier. |
["a","b"] |
| Envs |
string |
Non |
Les variables d'environnement pour le conteneur. Vous pouvez personnaliser les variables d'environnement ou référencer des ConfigMaps. Pour référencer une ConfigMap, vous devez d'abord créer une instance ConfigMap. Pour plus d'informations, consultez CreateConfigMap. Valeurs valides :
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
Non |
Le mappage d'hôte personnalisé dans le conteneur. Valeurs valides :
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
Non |
Les options de démarrage pour le package JAR. Commande de démarrage de tâche par défaut : |
custom-option |
| JarStartArgs |
string |
Non |
Les arguments de démarrage pour le package JAR. Commande de démarrage de tâche par défaut : |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
Non |
La version de l'environnement d'exécution de la tâche dans le High-Speed Service Framework (HSF), comme le conteneur Ali-Tomcat. |
3.5.3 |
| Timezone |
string |
Non |
Le fuseau horaire. Valeur par défaut : Asia/Shanghai. |
Asia/Shanghai |
| SlsConfigs |
string |
Non |
La configuration pour la collecte des journaux vers Simple Log Service (SLS).
Les descriptions des paramètres sont les suivantes :
Si la configuration de collecte SLS reste inchangée lors de plusieurs déploiements, vous n'avez pas besoin de définir ce paramètre (c'est-à-dire que le champ SlsConfigs n'est pas requis dans la requête). Si vous n'avez plus besoin de la fonctionnalité de collecte SLS, vous devez définir ce champ sur une chaîne vide (une chaîne de zéro caractère) dans la requête (c'est-à-dire que la valeur du champ SlsConfigs est ""). Remarque
Le projet créé automatiquement avec le modèle de tâche est supprimé lorsque le modèle de tâche est supprimé. Par conséquent, lorsque vous sélectionnez un projet existant, vous ne pouvez pas sélectionner un projet créé automatiquement par SAE. |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| NasId |
string |
Non |
L'identifiant du système de fichiers Apsara File Storage NAS. Si la configuration reste inchangée lors du déploiement, vous n'avez pas besoin de définir ce paramètre, ce qui signifie que le champ NasId n'est pas requis dans la requête. Pour effacer la configuration NAS, vous devez définir ce champ sur une chaîne vide dans la requête, ce qui signifie que la valeur du champ NasId est "". |
10d3b4**** |
| MountHost |
string |
Non |
La cible de montage du système de fichiers NAS dans le VPC du modèle de tâche. Si la configuration reste inchangée lors du déploiement, vous n'avez pas besoin de définir ce paramètre, ce qui signifie que le champ MountHost n'est pas requis dans la requête. Pour effacer la configuration NAS, vous devez définir ce champ sur une chaîne vide dans la requête, ce qui signifie que la valeur du champ MountHost est "". |
10d3b4bc9****.com |
| MountDesc |
string |
Non |
La description du montage NAS. Si la configuration reste inchangée lors du déploiement, vous n'avez pas besoin de définir ce paramètre, ce qui signifie que le champ MountDesc n'est pas requis dans la requête. Pour effacer la configuration NAS, vous devez définir ce champ sur une chaîne vide dans la requête, ce qui signifie que la valeur du champ MountDesc est "". |
[{mountPath: "/tmp", nasPath: "/"}] |
| PreStop |
string |
Non |
Le script à exécuter avant l'arrêt du conteneur. Un script est déclenché et exécuté avant la suppression du conteneur. Format : |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PostStart |
string |
Non |
Le script à exécuter après le démarrage du conteneur. Un script est déclenché et exécuté immédiatement après la création du conteneur. Format : |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
Non |
La commande de démarrage pour la tâche de déploiement de package WAR. La procédure est la même que pour la configuration de la commande de démarrage pour le déploiement d'image. Pour plus d'informations, consultez Configurer une commande de démarrage. |
CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run |
| ConfigMapMountDesc |
string |
Non |
La description du montage de la ConfigMap. Utilise les éléments de configuration créés sur la page des éléments de configuration de l'espace de noms pour injecter des informations de configuration dans le conteneur. Les descriptions des paramètres sont les suivantes :
Remarque
Vous pouvez transmettre le paramètre sae-sys-configmap-all pour monter toutes les clés.
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| SecurityGroupId |
string |
Non |
L'identifiant du groupe de sécurité. |
sg-wz969ngg2e49q5i4**** |
| AutoConfig |
boolean |
Non |
Indique si l'environnement réseau doit être configuré automatiquement. Valeurs valides :
|
false |
| TerminationGracePeriodSeconds |
integer |
Non |
Le délai d'attente pour l'arrêt progressif. Valeur par défaut : 30. Unité : secondes. Valeurs valides : 1 à 300. |
10 |
| PhpConfigLocation |
string |
Non |
Le chemin de montage pour la configuration de démarrage de la tâche PHP. Vous devez vous assurer que le serveur PHP utilise ce fichier de configuration pour démarrer. |
/usr/local/etc/php/php.ini |
| PhpConfig |
string |
Non |
Le contenu du fichier de configuration PHP. |
k1=v1 |
| TomcatConfig |
string |
Non |
La configuration Tomcat. Définissez la valeur sur "" ou "{}" pour supprimer la configuration. Valeurs valides :
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
Non |
La description du montage OSS. Les descriptions des paramètres sont les suivantes :
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
Non |
L'identifiant AccessKey utilisé pour lire et écrire des données OSS. |
xxxxxx |
| OssAkSecret |
string |
Non |
Le secret AccessKey utilisé pour lire et écrire des données OSS. |
xxxxxx |
| AcrInstanceId |
string |
Non |
L'identifiant de l'instance ACR Enterprise. Ce paramètre est requis lorsque ImageUrl est défini sur une image d'instance ACR Enterprise. |
cri-xxxxxx |
| AcrAssumeRoleArn |
string |
Non |
L'Alibaba Cloud Resource Name (ARN) du rôle Resource Access Management (RAM) requis pour extraire des images entre comptes. Pour plus d'informations, consultez Utiliser un rôle RAM pour autoriser l'accès entre comptes Alibaba Cloud. |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
Non |
L'identifiant du secret. |
10 |
| EnableImageAccl |
boolean |
Non |
Indique si l'accélération d'image doit être activée. Valeurs valides :
|
false |
| Workload |
string |
Oui |
Le type de charge de travail. Définissez la valeur sur |
job |
| TriggerConfig |
string |
Non |
La configuration du déclencheur de la tâche. Configurez ce paramètre en fonction du type de tâche.
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
Non |
La stratégie de simultanéité de la tâche. Valeurs valides :
|
Allow |
| Timeout |
integer |
Non |
Le délai d'attente de la tâche. Unité : secondes. |
3600 |
| BackoffLimit |
integer |
Non |
Le nombre de tentatives pour la tâche. |
3 |
| Slice |
boolean |
Non |
Indique si le partitionnement des tâches doit être activé. |
true |
| SliceEnvs |
string |
Non |
Les paramètres de partitionnement de la tâche. |
[0,1,2] |
| RefAppId |
string |
Non |
L'identifiant de la cible de tâche référencée. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
Non |
Le langage de programmation. Valeurs valides : java, php, python et shell. |
java |
| Python |
string |
Non |
L'environnement Python. Valeur valide : PYTHON 3.9.15. |
PYTHON 3.9.15 |
| PythonModules |
string |
Non |
Les dépendances de modules pour l'installation personnalisée. Par défaut, les dépendances définies dans le fichier requirements.txt du dossier racine sont installées. Si aucune dépendance n'est configurée ou si des packages personnalisés sont utilisés, vous pouvez spécifier les dépendances pour l'installation personnalisée. |
Flask==2.0 |
| NasConfigs |
string |
Non |
La configuration pour le montage du système de fichiers NAS. |
[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}] |
| BestEffortType |
string |
Non |
La stratégie BestEffort. |
besteffort |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Les informations sur le modèle de tâche créé. |
||
| RequestId |
string |
L'identifiant de la requête. |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
Les informations supplémentaires. Valeurs valides :
|
success |
| TraceId |
string |
L'identifiant de trace utilisé pour interroger avec précision les informations d'appel. |
ac1a0b2215622246421415014e**** |
| Data |
object |
Le résultat renvoyé. |
|
| ChangeOrderId |
string |
L'identifiant de l'ordre de modification renvoyé, qui est utilisé pour interroger l'état d'exécution de la tâche. |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
L'identifiant du modèle de tâche. |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
Le code d'erreur. Valeurs valides :
|
Application.MissingJdk |
| Code |
string |
Le code d'état HTTP ou le code d'erreur POP. Valeurs valides :
|
200 |
| Success |
boolean |
Indique si le modèle de tâche a été créé. Valeurs valides :
|
true |
Exemples
JSON format
{
"RequestId": "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
"Message": "success",
"TraceId": "ac1a0b2215622246421415014e****",
"Data": {
"ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
"AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****"
},
"ErrorCode": "Application.MissingJdk",
"Code": "200",
"Success": true
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | Application.MissingJdk | Your application must at least contain a JDK component. | L'application doit contenir au moins un composant JDK. |
| 400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | Le type de package doit être WAR, FatJAR ou Image. |
| 400 | InvalidParameter.FileName | The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. | |
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | Paramètre non valide : %s ne peut pas être vide. |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | Paramètre non valide {%s}. |
| 400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | Les applications FatJar doivent inclure un JDK. |
| 400 | NoAvailableCluster.NotFound | No clusters are available for the current region. | Aucun cluster n'est disponible dans la région actuelle. |
| 400 | NoComputeResourceQuota.Exceed | Your compute resource is insufficient. Please contact us to raise the quota. | |
| 400 | PandoraApplication.MissingJdk | The Pandora application is missing a JDK component. | Le composant JDK est absent de l'application Pandora. |
| 400 | PandoraApplication.OnlyJdk | A Pandora application only requires JDK component. | L'application Pandora nécessite uniquement le composant JDK. |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | Paramètre non valide {%s} : %s. |
| 400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | Le composant spécifié (JDK, Tomcat, EDASWebContainer, etc.) est introuvable. |
| 400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | Le nom d'hôte ou l'adresse IP n'est pas valide : nom d'hôte [%s], IP [%s]. |
| 400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | Le type d'instance n'est pas pris en charge. CPU [%s], Mémoire [%s]. |
| 400 | InvalidServerlessRegion.Unsupported | The current region is not supported: %s | La région spécifiée n'est pas prise en charge : %s. |
| 400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | Les applications de type WAR doivent inclure JDK et Tomcat. |
| 400 | InvalidNamespace.WithUppercase | This namespace does not support creating SAE apps because it contains uppercase letters. | L'espace de noms ne prend pas en charge la création d'applications Serverless App Engine (SAE) car il contient des lettres majuscules. |
| 400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | Le nombre de configurations du service de journalisation a dépassé la limite du quota. Rejoignez le groupe DingTalk 32874633 pour consulter un expert technique du produit. |
| 400 | LogService.InternalError | An exception occurred while calling Log Service. Please submit a ticket to solve the problem. | Une exception s'est produite lors de l'appel au service de journalisation. Rejoignez le groupe DingTalk 32874633 pour consulter un expert technique du produit. |
| 400 | LogService.LogDirInvalid | The log collection path is invalid. | Le chemin de collecte des journaux est invalide. |
| 400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | Le service de journalisation n'est pas disponible. Activez d'abord le service de journalisation. |
| 400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | Le nombre de projets du service de journalisation a dépassé la limite du quota. Rejoignez le groupe DingTalk 32874633 pour consulter un expert technique du produit. |
| 400 | vswitch.not.exist | The specified VSwitch does not exist. | |
| 400 | user.indebt | The user has an outstanding payment. | L'utilisateur actuel présente un retard de paiement. |
| 400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | Chaque application peut avoir un maximum de %s instances. Rejoignez le groupe DingTalk 32874633 pour consulter un expert technique du produit. |
| 400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | Votre compte dispose d'un quota de %s instances. Rejoignez le groupe DingTalk 32874633 pour consulter un expert technique du produit. |
| 400 | System.Upgrading | The system is being upgraded. Please try again later. | Le système est en cours de mise à niveau. Réessayez plus tard. |
| 400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | Le répertoire de collecte des journaux est en conflit avec le répertoire de stockage persistant. |
| 400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | Le chemin de montage ConfigMap %s est en conflit avec un chemin existant. |
| 400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | L'objet ConfigMap (ID=%s) est introuvable. |
| 400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | La clé %s de l'objet ConfigMap (ID=%s) est introuvable. |
| 400 | Sls.Config.Mixed.Multi.Project | The specified Config contains multiple projects. | La configuration SLS que vous avez spécifiée contient plusieurs projets. |
| 400 | Sls.Config.User.Defined.Missing.Logstore.Info | The specified Config is invalid. Both Project and Logstore must be specified. | La configuration SLS que vous avez spécifiée est une configuration SLS personnalisée, mais elle ne contient que la configuration Project. La configuration Logstore est manquante. |
| 400 | Sls.Config.User.Defined.Missing.Project.Info | The specified Config is invalid. Both Project and Logstore must be specified. | La configuration SLS que vous avez spécifiée est une configuration SLS personnalisée, mais elle ne contient que la configuration Logstore. La configuration Project est manquante. |
| 400 | Sls.Logstore.Name.Invalid | The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-". | Le nom du Logstore SLS que vous avez spécifié n'est pas valide. Le nom contient le préfixe « sae- », ce qui entraîne une confusion avec les Logstores soumis à une création automatique par SAE. |
| 400 | Sls.Logstore.User.Defined.Not.Exist | The user defined Logstore does not exist. | Le Logstore personnalisé que vous avez spécifié n'existe pas. |
| 400 | Sls.Project.Name.Invalid | The specified project name is invalid. The project name must not contain the prefix "sae-". | Le nom du Project SLS que vous avez spécifié n'est pas valide. Le nom contient le préfixe « sae- », ce qui entraîne une confusion avec les projets soumis à une création automatique par SAE. |
| 400 | Sls.Project.User.Defined.Not.Exist | The user defined project does not exist. | Le projet personnalisé que vous avez spécifié n'existe pas. |
| 400 | InvalidImageUrl.AcrInstanceId.Domain.NotMatch | The specified domain of ImageUrl does not match AcrInstanceId domains. | Le nom de domaine de l'ImageUrl spécifié ne correspond pas au nom de domaine de l'AcrInstanceId. |
| 400 | PhpApplication.MissingPhpRuntime | A PHP application must contain PHP Runtime. | Une application PHP doit inclure l'environnement d'exécution PHP. |
| 404 | Associate.Eip.Not.Enough | No sufficient EIPs are available. | Les adresses IP élastiques (EIP) disponibles pour la liaison sont insuffisantes. Achetez d'abord des adresses EIP. |
| 404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | Le NamespaceId spécifié n'existe pas. |
| 404 | InvalidVpcId.NotFound | The specified VpcId does not exist. | Le VpcId spécifié n'existe pas. |
| 404 | InvalidAcrInstanceId.NotFound | The specified AcrInstanceId does not exist. | L'AcrInstanceId spécifié n'existe pas. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.