Earth Engine 配额

配额类型

Earth Engine 平台设有一系列配额限制,以确保资源能够公平地分配给用户。由于 Earth Engine 中提供的资源类型很多(计算、存储等),因此配额限制也有很多种。

不同配额类型之间的主要区别在于它们是否可调。对于某些类型的配额,我们可以按用户或项目更改限制,而其他类型是系统级限制,无法更改。

可调整的配额限制

以下限制可能会因项目而异。如需了解如何申请更多配额,请参阅帮助页面

配额类型 默认值(每个项目)
并发请求数上限(标准端点) 40 个并发请求
并发请求数上限(高容量端点) 40 个并发请求
请求速率上限(每个项目) 100 个请求/秒(6,000 个请求/分钟)
请求速率上限(每个账号) 100 个请求/秒(6,000 个请求/分钟)
平均并发批量任务数 2 项任务(平均)
资源存储空间上限 250 GB
素材资源数量上限 10000

并发交互式请求

每个项目都可以并发发出交互式请求,但不得超过配额限制。如果超出此限制,Earth Engine 将返回 “HTTP 429: Too Many Requests”错误。通常,这些错误由 Earth Engine 客户端库处理,该库会将请求封装在指数退避中,并重试查询,直到成功为止。Earth Engine 客户端库最多会重试 5 次。

为避免收到这些 429 错误,您可能需要为应用启用缓存(例如使用 memcache),以尽可能避免重复查询。如果您使用的是旧版 Earth Engine 客户端库,并且该库不会自动重试查询,或者如果查询在五次重试后仍未完成,您可能需要针对请求实现指数退避。

请求速率 (QPS)

除了并发限制之外,Earth Engine 还会在项目级和用户级限制交互式请求的速率。您可以在 Cloud 控制台中调整这些设置

并发批量任务

批量任务只能使用少量并行性,因为它们比交互式请求使用更多资源。

在非商业用途的情况下使用 Earth Engine 时,除非您已获得配额提升,否则您能够并行运行的批量任务数量上限会设为默认值。

在商业用途下使用 Earth Engine 时,您能够并发运行的批处理任务数量上限由价格方案决定,但您可以通过设置每个项目的批处理任务并发数上限来进一步降低此上限。默认情况下,项目的批处理任务并发数上限会设为项目结算账号上配置的付款方案允许的最大值。如需查看或更新项目的此限制,请参阅命令行工具文档

素材资源存储空间配额

每个 Earth Engine 资产都有对应的数据存储空间大小(以字节为单位)。资产可以归 Cloud 项目或个人(旧版资产)所有,并且每项资产都会计入其所有者的 Earth Engine 总存储空间和资产数量限制。

用户席位

在商业用途下,每个订阅层级都包含一定数量的用户席位,但您也可以购买额外的席位。

服务管理员应购买相应数量的座位,以满足给定结算周期内的 Code Editor 用户数量。

常见问题解答

问:哪些人会计入座位数?
:只有使用代码编辑器执行 Earth Engine 计算用例(查看地图图块、发送计算查询等)的不同人类用户才会计入座位数上限。

问:如果用户在一个月内发生变化,该怎么办?
:座位不会分配给特定个人,它们不是命名的槽位。只要您在给定月份内未超出此数量,具体用户身份就无关紧要。

问题:服务账号怎么样?
:服务账号不计入座位数。它们不会计为执行计算的真人用户。

问题:通过 Python 访问 Earth Engine 的用户怎么办?
:仅通过 Python API 访问 Earth Engine 且不使用代码编辑器的用户不会计入座位使用情况。座位数与 Code Editor 使用情况相关联。

问:座位在哪里统计?
:座位数是在结算账号一级应用的。贵组织中使用代码编辑器的所有真人用户都会计入贵结算账号的总座位数。

问题:如果超出座位数上限,会怎么样?
:我们会监控是否存在持续违规行为,并在结算账号一级强制执行限制。

问:如何购买更多或更少的席位?
:如需了解详情,请参阅 Earth Engine 价格页面。

固定配额限制

这类配额限制是在平台级设置的,因此无法按用户或项目进行调整。它们不太可能会随着时间的推移而发生显著变化。

计算时间

不同类型的请求具有不同的时长上限,详情请参阅“处理环境”文档

如需有关修复超时错误的帮助,请参阅调试指南

每个请求的内存占用

如果请求因“超出用户内存限制”而失败,则表示 Earth Engine 无法在允许的内存占用量内计算出答案。EE 计算平台的可用 RAM 数量有限,为确保系统保持稳定,每个请求只能使用一定数量的 RAM。可用内存的最大数量取决于请求类型(例如,批量任务的内存用量大于地图图块),但这些是系统级限制。

如需有关修复内存错误的帮助,请参阅调试指南

数据汇总

在处理 Earth Engine 请求时,我们会将我们知道计算密集的某些类型的子计算分离出来。这些子计算称为“汇总”,在 EE 系统中会以特殊方式处理。系统会缓存汇总结果,以避免重新计算。

并发汇总

为避免计算扇出失控,我们会限制单个用户可以同时运行的汇总数量,且此限制无法更改。如果请求因“并发汇总过多”而失败,则表示请求方同时运行的汇总过多。

如需有关修复并发汇总错误的帮助,请参阅调试指南

大型汇总结果

如果请求因“计算值过大”而失败,则表示汇总返回的结果太大,无法放入缓存中。计算结果的大小限制为 100 MiB,这是系统级限制。

表导入限制

“导入表数据”指南中介绍了表上传限制。

请求载荷大小

对 Earth Engine 的单个查询大小上限为 10 MB。只有在查询中直接包含大量额外数据(例如内嵌到查询中的 Shapefile 或 GeoJSON 结构)时,才会超出此限制。相反,您应上传这些对象并将其转换为 FeatureCollection 资产,然后通过资产 ID 进行引用。

任务队列长度

等待调度的任务(处于 READY 状态)构成了“任务队列”。每个项目的队列最多支持 3,000 个任务。这意味着,处于 READY 状态的任务不能超过 3,000 个。

BigQuery 光栅函数配额限制

以下配额适用于从 BigQuery 调用 Earth Engine 的操作,例如使用 ST_REGIONSTATS SQL 函数时。

配额类型 默认值(每个项目)
每天的 BigQuery 槽时 1,260,000 个槽秒(350 个槽小时)

每天的 BigQuery 槽时

BigQuery 每日槽时配额是一种自定义配额,可让您限制给定项目在给定一天内允许 BigQuery 光栅函数在 Earth Engine 上消耗的槽时量。您可以在 earthengine.googleapis.com/bigquery_slot_usage_time 指标下在 Cloud 控制台中查看此配额,并且配额管理员可以向上或向下调整此值。如需将该值提高到高于默认值的水平,请创建配额增加请求,该请求将自动获得批准。

如果超出此配额,BigQuery 会返回以下错误消息:

From Earth Engine: Custom quota exceeded: Your usage exceeded the custom quota for 'earthengine.googleapis.com/bigquery_slot_usage_time', which is adjustable by your administrator in the Google Cloud console: https://console.cloud.google.com/quotas/?project=_.

一旦超出配额,ST_REGIONSTATS 调用将会失败,直到次日配额重置或管理员提高配额限制为止。