建立工作範本。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
sae:CreateJob |
create |
*全部資源
|
無 | 無 |
請求文法
POST /pop/v1/sam/job/createJob HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| AppName |
string |
是 |
工作範本名稱。允許數字、字母以及短劃線(-)組合。必須以字母開始,不超過 36 個字元。 |
test |
| NamespaceId |
string |
否 |
SAE 命名空間 ID。僅支援名稱為小寫字母加短劃線(-)的命名空間,必須以字母開始。 |
cn-beijing:test |
| AppDescription |
string |
否 |
工作範本描述資訊。不超過 1024 個字元。 |
This is a test description. |
| VpcId |
string |
否 |
SAE 命名空間對應的 VPC。在 SAE 中,一個命名空間只能對應一個 VPC,且不能修改。第一次在命名空間內建立 SAE 工作範本將形成綁定關係。多個命名空間可以對應一個 VPC。不填則預設為命名空間綁定的 VPC ID。 |
vpc-bp1aevy8sofi8mh1q**** |
| VSwitchId |
string |
否 |
任務執行個體彈性網卡所在的虛擬交換器。該交換器必須位於上述 VPC 內。該交換器與 SAE 命名空間同樣存在綁定關係。不填則預設為命名空間綁定的 vSwitch ID。 |
vsw-bp12mw1f8k3jgygk9**** |
| PackageType |
string |
是 |
任務包類型。取值說明如下:
|
FatJar |
| PackageVersion |
string |
否 |
部署套件的版本號碼。當Package Type為 FatJar、War 或 PythonZip 時必填。 |
1.0.1 |
| PackageUrl |
string |
否 |
部署套件地址。當Package Type為 FatJar、War 或 PythonZip 時必填。 |
http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar |
| ImageUrl |
string |
否 |
鏡像地址。當Package Type為 Image 時必填。 |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Jdk |
string |
否 |
部署套件依賴的 JDK 版本。支援版本如下:
當Package Type為 Image 時不支援。 |
Open JDK 8 |
| WebContainer |
string |
否 |
部署套件依賴的 Tomcat 版本。支援版本如下:
當Package Type為 Image 時不支援。 |
apache-tomcat-7.0.91 |
| Cpu |
integer |
否 |
每個執行個體所需的 CPU,單位為毫核,不能為 0。目前僅支援以下固定規格:
|
1000 |
| Memory |
integer |
否 |
每個執行個體所需的記憶體,單位為 MB,不能為 0。與 CPU 為一一對應關係,目前僅支援以下固定規格:
|
1024 |
| Replicas |
integer |
是 |
任務並發執行個體數。 |
3 |
| Command |
string |
否 |
鏡像啟動命令。該命令必須為容器記憶體在的可執行檔對象。樣本如下:
根據上述樣本,則 |
echo |
| CommandArgs |
string |
否 |
鏡像啟動命令參數。上述啟動命令 Command 所需參數。格式如下:
在上述樣本中, |
["a","b"] |
| Envs |
string |
否 |
容器環境變數參數。支援自訂或引用配置項。如需引用配置項,請先建立 ConfigMap 執行個體。更多資訊,請參見 CreateConfigMap 。取值說明如下:
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
否 |
容器內自訂 Host 映射。取值說明如下:
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
否 |
JAR 包啟動任務選項。任務預設啟動命令: |
custom-option |
| JarStartArgs |
string |
否 |
JAR 包啟動任務參數。任務預設啟動命令: |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
否 |
HSF 架構中任務運行環境版本,例如 Ali-Tomcat 容器。 |
3.5.3 |
| Timezone |
string |
否 |
時區,預設為Asia/Shanghai。 |
Asia/Shanghai |
| SlsConfigs |
string |
否 |
日誌採集到 SLS 的配置。
參數說明如下:
多次部署時如果 SLS 採集配置沒有變更,則不需要設定該參數(即請求中無需包含 SlsConfigs 欄位);如果不再需要使用 SLS 採集功能,您需要在請求中將該欄位的值設定為空白字串(即請求中 SlsConfigs 欄位的值為"")。 說明
隨工作範本自動建立的 Project 會隨著工作範本刪除而刪除,因此在選擇已有 Project 時,不能選擇 SAE 自動建立的 Project。 |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| NasId |
string |
否 |
NAS 檔案系統的 ID。部署時如果配置沒有變更,則不需要設定該參數(即請求中無需包含 NasId 欄位);如果需要清除 NAS 配置,您需要在請求中將該欄位的值設定為空白字串(即請求中 NasId 欄位的值為"")。 |
10d3b4**** |
| MountHost |
string |
否 |
NAS 在工作範本 VPC 內的掛載點。部署時如果配置沒有變更,則不需要設定該參數(即請求中無需包含 MountHost 欄位);如果需要清除 NAS 配置,您需要在請求中將該欄位的值設定為空白字串(即請求中 MountHost 欄位的值為"")。 |
10d3b4bc9****.com |
| MountDesc |
string |
否 |
NAS 掛載描述。部署時如果配置沒有變更,則不需要設定該參數(即請求中無需包含 MountDesc 欄位);如果需要清除 NAS 配置,您需要在請求中將該欄位的值設定為空白字串(即請求中 MountDesc 欄位的值為"")。 |
[{mountPath: "/tmp", nasPath: "/"}] |
| PreStop |
string |
否 |
容器停止前執行指令碼。在容器被刪除前觸發執行一段指令碼,格式如: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PostStart |
string |
否 |
容器啟動後執行指令碼。在容器被建立後立刻觸發執行一段指令碼,格式如: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
否 |
設定 WAR 包部署任務的啟動命令,操作步驟與鏡像部署的啟動命令配置操作相同。更多資訊,請參見設定啟動命令。 |
CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run |
| ConfigMapMountDesc |
string |
否 |
ConfigMap 掛載描述。使用在命名空間配置項頁面建立的配置項來向容器中注入配置資訊。參數說明如下:
說明
可通過傳遞
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| SecurityGroupId |
string |
否 |
安全性群組 ID。 |
sg-wz969ngg2e49q5i4**** |
| AutoConfig |
boolean |
否 |
是否自動設定網路環境。取值說明如下:
|
false |
| TerminationGracePeriodSeconds |
integer |
否 |
優雅下線逾時時間,預設為 30,單位為秒。取值範圍為 1~300。 |
10 |
| PhpConfigLocation |
string |
否 |
PHP 任務啟動配置掛載路徑,需要您保證 PHP 伺服器會使用這個設定檔啟動。 |
/usr/local/etc/php/php.ini |
| PhpConfig |
string |
否 |
PHP 設定檔內容。 |
k1=v1 |
| TomcatConfig |
string |
否 |
Tomcat 檔案配置,設定為""或"{}"表示刪除配置。取值說明如下:
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
否 |
OSS 掛載描述資訊。參數說明如下:
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
否 |
OSS 讀寫的 AccessKey ID。 |
xxxxxx |
| OssAkSecret |
string |
否 |
OSS 讀寫的 AccessKey Secret。 |
xxxxxx |
| AcrInstanceId |
string |
否 |
ACR 企業版執行個體 ID。當 ImageUrl 為Container Registry企業版時必填。 |
cri-xxxxxx |
| AcrAssumeRoleArn |
string |
否 |
跨帳號拉取鏡像時所需的 RAM 角色的 ARN。更多資訊,請參見通過 RAM 角色實現跨雲帳號授權。 |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
否 |
對應保密字典 ID。 |
10 |
| EnableImageAccl |
boolean |
否 |
是否開啟鏡像加速。取值說明如下:
|
false |
| Workload |
string |
是 |
Workload 需指定為 |
job |
| TriggerConfig |
string |
否 |
任務觸發配置,根據任務類型進行配置。
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
否 |
任務並發策略。取值說明如下:
|
Allow |
| Timeout |
integer |
否 |
任務逾時時間,單位為秒。 |
3600 |
| BackoffLimit |
integer |
否 |
任務重試次數。 |
3 |
| Slice |
boolean |
否 |
啟用任務分區。 |
true |
| SliceEnvs |
string |
否 |
任務分區參數。 |
[0,1,2] |
| RefAppId |
string |
否 |
引用的任務目標 ID。 |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
否 |
程式程式設計語言。支援 java、php、python 和 shell。 |
java |
| Python |
string |
否 |
Python 環境。支援PYTHON 3.9.15。 |
PYTHON 3.9.15 |
| PythonModules |
string |
否 |
自訂安裝模組依賴。預設安裝根目錄下 requirements.txt 定義的依賴項。如果未配置或自訂軟體包,可以指定安裝的依賴。 |
Flask==2.0 |
| NasConfigs |
string |
否 |
掛載 NAS 的配置。 |
|
| BestEffortType |
string |
否 |
BestEffort 策略。 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
建立的工作範本資訊。 |
||
| RequestId |
string |
請求 ID。 |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
附加資訊。取值說明如下:
|
success |
| TraceId |
string |
調用鏈 ID,用於精確查詢調用資訊。 |
ac1a0b2215622246421415014e**** |
| Data |
object |
返回結果。 |
|
| ChangeOrderId |
string |
返回的發布單 ID,用於查詢任務執行狀態。 |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
工作範本 ID。 |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
錯誤碼。取值說明如下:
|
|
| Code |
string |
介面狀態或 POP 錯誤碼。取值說明如下:
|
200 |
| Success |
boolean |
建立工作範本是否成功。取值說明如下:
|
true |
樣本
正常返回樣本
JSON格式
{
"RequestId": "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
"Message": "success",
"TraceId": "ac1a0b2215622246421415014e****",
"Data": {
"ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
"AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****"
},
"ErrorCode": "",
"Code": "200",
"Success": true
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | Application.MissingJdk | Your application must at least contain a JDK component. | 應用必須至少包含JDK組件。 |
| 400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | 包類型必須為WAR、FatJAR或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. | 不合法的參數:%s不可為空。 |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的參數{%s}。 |
| 400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | FatJar類型應用必須包含JDK。 |
| 400 | NoAvailableCluster.NotFound | No clusters are available for the current region. | 當前地區沒有可用叢集。 |
| 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. | Pandora應用缺少JDK組件。 |
| 400 | PandoraApplication.OnlyJdk | A Pandora application only requires JDK component. | Pandora應用只需要JDK組件。 |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的參數{%s}:%s。 |
| 400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | 找不到當前組件(JDK、Tomcat、EDASWebContainer等)。 |
| 400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | 主機名稱或IP不合法:主機名稱[%s],IP[%s]。 |
| 400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | 不支援的執行個體規格。CPU[%s],Memory[%s]。 |
| 400 | InvalidServerlessRegion.Unsupported | The current region is not supported: %s | 不支援當前地區:%s。 |
| 400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | WAR類型應用必須包含JDK和Tomcat。 |
| 400 | InvalidNamespace.WithUppercase | This namespace does not support creating SAE apps because it contains uppercase letters. | 命名空間不支援建立SAE應用,因為它帶有大寫字母。 |
| 400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | Log Service配置個數超過配額限制,請加入釘群32874633聯絡技術產品專家進行諮詢。 |
| 400 | LogService.InternalError | An exception occurred while calling Log Service. Please submit a ticket to solve the problem. | 調用Log Service異常,請加入釘群32874633聯絡技術產品專家進行諮詢。 |
| 400 | LogService.LogDirInvalid | The log collection path is invalid. | 日誌採集路徑不合法。 |
| 400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | Log Service不可用,請先開通Log Service。 |
| 400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | Log Service專案個數超過配額限制,請加入釘群32874633聯絡技術產品專家進行諮詢。 |
| 400 | vswitch.not.exist | The specified VSwitch does not exist. | |
| 400 | user.indebt | The user has an outstanding payment. | 目前使用者處於欠費狀態。 |
| 400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | 每個應用只允許建立%s個執行個體,請加入釘群32874633聯絡技術產品專家進行諮詢。 |
| 400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | 您的賬戶限額%s個執行個體,請加入釘群32874633聯絡技術產品專家進行諮詢。 |
| 400 | System.Upgrading | The system is being upgraded. Please try again later. | 系統正在升級,請稍後操作。 |
| 400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | 日誌採集目錄與持久化儲存目錄衝突。 |
| 400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | ConfigMap掛載路徑%s存在衝突。 |
| 400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | 找不到ConfigMap對象(ID=%s)。 |
| 400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | 找不到ConfigMap對象(ID=%s)的Key %s。 |
| 400 | Sls.Config.Mixed.Multi.Project | The specified Config contains multiple projects. | 您輸入的SLS Config中指定了多個Project。 |
| 400 | Sls.Config.User.Defined.Missing.Logstore.Info | The specified Config is invalid. Both Project and Logstore must be specified. | 您輸入的SLS Config為自訂SLS配置,但是只有Project配置,缺失Logstore配置。 |
| 400 | Sls.Config.User.Defined.Missing.Project.Info | The specified Config is invalid. Both Project and Logstore must be specified. | 您輸入的SLS Config為自訂SLS配置,但是只有Logstore配置,缺失Project配置。 |
| 400 | Sls.Logstore.Name.Invalid | The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-". | 您輸入的SLS Logstore名稱不合法,首碼包含了"sae-",會與SAE自動建立的Logstore混淆。 |
| 400 | Sls.Logstore.User.Defined.Not.Exist | The user defined Logstore does not exist. | 您輸入的自建Logstore不存在。 |
| 400 | Sls.Project.Name.Invalid | The specified project name is invalid. The project name must not contain the prefix "sae-". | 您輸入的SLS Project名稱不合法,首碼包含了"sae-",會與SAE自動建立的Project混淆。 |
| 400 | Sls.Project.User.Defined.Not.Exist | The user defined project does not exist. | 您輸入的自建Project不存在。 |
| 400 | InvalidImageUrl.AcrInstanceId.Domain.NotMatch | The specified domain of ImageUrl does not match AcrInstanceId domains. | 指定的鏡像地址ImageUrl網域名稱與AcrInstanceId網域名稱不匹配。 |
| 400 | PhpApplication.MissingPhpRuntime | A PHP application must contain PHP Runtime. | PHP類型應用必須包含PHP運行時。 |
| 404 | Associate.Eip.Not.Enough | No sufficient EIPs are available. | 綁定EIP時,EIP不足,需要您購買。 |
| 404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | 指定的NamespaceId不存在。 |
| 404 | InvalidVpcId.NotFound | The specified VpcId does not exist. | 指定的VpcId不存在。 |
| 404 | InvalidAcrInstanceId.NotFound | The specified AcrInstanceId does not exist. | 指定的 AcrInstanceId 不存在。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。