按天或按小时查看应用日志的统计
保存该应用日志的每台机器对日志的统计,汇总后返回:实例打印的内容,包括打印、保留、未保留(及原因:rate_limit,超出实例每秒保留行数而被丢弃的,按打印时的字节计;keep_off,在机器上的日志中但没有长期保留的,因为当时应用的 logs.keep 为 false)、被截断的行数和截掉的字节数,以及机器读取之前就丢失的行数和字节数;请求,包括处理的请求、保留的行及其代表的请求数(一行拒绝记录在 times 中说明代表多少次),以及因应用的采样而略去的请求 (logs.requests.sample_rate);平台的行;每一种行中,机器在上传之前丢弃的行 (node_buffer),以及输出中已离开的机器最多有多少行没有上传 (node_lost)。保留行的字节数按其 text 计算,与读取日志时得到的一致:把一天中读到的加起来,就是当天的 output.kept.bytes。打印的量等于保留、未保留和截掉的量之和,精确到行和字节。此外还有边缘节点自己拒绝的应用请求,这些请求没有机器见过,也没有任何日志行记录(edge_refused,按错误码分:应用没有就绪的版本,app_not_deployed;项目已停止;边缘节点自身的连接上限)。所需权限范围:read。
每台机器在保存日志行的同时按小时统计该应用的日志,控制平面每隔几秒向机器询问时一并收取这些计数。当保存该应用日志行的每台机器的计数都在当天结束并结算之后(结束后十秒)被收取,这一天(或这一小时)就是 complete;对于尚未结束的这一天,则要求每台机器都在线,且刚刚被收取过计数。连不上的机器会使它尚未被收取计数的那些天不完整,直到它回来。计数保留 92 天。
https://api.glac.ai/v1/apps/{app}/logs/usage授权
路径参数
查询参数
Returns
200
所请求的每一天(或每小时),最早的在前,附带所有计数,为零的也包括在内。
400
unknown_parameter;invalid_field:from 或 to 不是时间,to 不晚于 from,时段超过 366 天(744 小时),by 既不是 day 也不是 hour。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
401
missing_api_key, invalid_api_key, expired_api_key, invalid_token.
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
402
account_in_debt:账户欠费(余额低于零),付清之前账户的任何东西都不能使用:其密钥以及其沙箱令牌的每个调用都会这样被拒绝,以下除外:读取欠款和付款的调用;列出和读取其存储卷的备份,以及从备份创建存储卷的调用(POST /v1/volumes,带上 from_backup,正在删除账户存储的数据时除外),这是停止付款的账户最需要的;此外,除非控制平面以 --debt-allows-delete false 启动,还有列出、读取和删除账户存储的存储卷、快照和沙箱,以及删除其备份的调用。新建备份始终不行。在检查密钥的权限范围之前就拒绝,无论路径是什么。错误信息会说明欠款金额、起始时间、账户存储的数据何时会被删除、如何付款、可以删除存储的数据以免金额继续增长,以及仍然可以从备份创建存储卷(GET /v1/billing、debt)。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
403
key_scope:密钥没有调用所需的权限范围(错误信息会指明是哪一个);needs_api_key:使用的是运营方的密钥或 SSH 网关的密钥;account_held:账户因付款问题被冻结,除 GET /v1/account 外,用它的密钥发起的所有调用都会这样被拒绝,而且在检查权限范围之前就拒绝 (x-error-codes);installation_key_scope:限定于某个托管应用安装的密钥,用在了与该安装自身无关的调用上。(沙箱令牌会被转给其节点,节点对它没有的调用返回 404 no_such_route。)
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
404
app_not_found(已删除的应用在其日志行保留期内可以按 id 找到)。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null