应用 - 环境变量
覆盖变量
用新值覆盖环境变量。
PUT
/
v2
/
apps
/
{app_id}
/
envs
覆盖变量
curl --request PUT \
--url https://api.squarecloud.app/v2/apps/{app_id}/envs \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"envs": {}
}'import requests
url = "https://api.squarecloud.app/v2/apps/{app_id}/envs"
payload = { "envs": {} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({envs: {}})
};
fetch('https://api.squarecloud.app/v2/apps/{app_id}/envs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.squarecloud.app/v2/apps/{app_id}/envs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'envs' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.squarecloud.app/v2/apps/{app_id}/envs"
payload := strings.NewReader("{\n \"envs\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.squarecloud.app/v2/apps/{app_id}/envs")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"envs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/apps/{app_id}/envs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"envs\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"TEST": "overwriteTest"
}
}
Overwrite 会将应用的整个环境替换为你发送的变量:任何已设置但未包含在请求体中的变量都会被删除。发送一个空的
envs 对象会清空所有变量,因此该端点适用于完全重置,而不是增量更改。
与其他环境变量端点相同的限制在此同样适用:每个应用最多 256 个变量,键最长 1024 个字符,值最长 4096 个字符。静态应用不受支持,会返回错误;在工作区共享的应用上,调用者需要具有 Administrator 角色或为所有者。
如果你只需更改少数几个变量而不影响其余变量,请改用添加/编辑变量,或使用移除变量删除特定的键。
参数
string
必填
应用程序 ID。
object
你希望在环境中设置的键和值变量。
响应
string
指示调用是否成功。成功时为
success,否则为 error。object
你定义的所有环境变量的键和值。
{
"status": "success",
"response": {
"TEST": "overwriteTest"
}
}
常见错误
| 代码 | HTTP | 说明 |
|---|---|---|
STATIC_APP_ENV_NOT_SUPPORTED | 400 | 该应用为静态应用;静态应用不支持环境变量。 |
INVALID_ENV_CONTENT | 400 | envs 缺失、不是对象,或是数组。 |
TOO_MANY_ENV_VARS | 400 | 新的变量集将超过 256 个环境变量。 |
ENV_NAME_TOO_LONG | 400 | 某个变量键超过 1024 个字符。 |
ENV_CONTENT_TOO_LONG | 400 | 某个变量值超过 4096 个字符。 |
⌘I
覆盖变量
curl --request PUT \
--url https://api.squarecloud.app/v2/apps/{app_id}/envs \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"envs": {}
}'import requests
url = "https://api.squarecloud.app/v2/apps/{app_id}/envs"
payload = { "envs": {} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({envs: {}})
};
fetch('https://api.squarecloud.app/v2/apps/{app_id}/envs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.squarecloud.app/v2/apps/{app_id}/envs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'envs' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.squarecloud.app/v2/apps/{app_id}/envs"
payload := strings.NewReader("{\n \"envs\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.squarecloud.app/v2/apps/{app_id}/envs")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"envs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/apps/{app_id}/envs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"envs\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"TEST": "overwriteTest"
}
}

