Cloudflare Workers 付费文档

发布于:2024-04-17 ⋅ 阅读:(18) ⋅ 点赞:(0)

定价 ·

默认情况下,用户可以访问Workers免费计划。Workers免费计划包括对Workers、Pages Functions和Workers KV的有限使用。了解更多关于免费计划限制的信息。

Workers付费计划包括Workers、Pages Functions、Workers KV和Durable Objects的使用,每个账户每月至少收费5美元。该计划包括增加的初始使用配额,并为超出基础计划的使用提供明确的收费。

所有包含的使用都是基于每月的。

Workers

使用模式是您的Workers上的设置,它指定了如何为您的使用计费,以及每次调用您的Worker可以使用的CPU时间的上限毫秒数。

Workers付费计划用户只能访问标准使用模式。

Workers企业账户的计费基于他们合同中指定的使用模式。要切换到标准使用模式,请联系您的客户成功经理(CSM)。一些Workers企业客户保持更改使用模式的能力。

请求、持续时间和CPU时间

免费计划:

  • 每天100,000次请求
  • 每次调用不收取持续时间费用
  • 每次调用10毫秒的CPU时间

标准计划:

  • 每月包含1000万次请求
  • 超出部分每增加100万次请求收费0.30美元
  • 无持续时间费用或限制
  • 每月包含3000万CPU毫秒
  • 超出部分每增加1000万CPU毫秒收费0.02美元

每次调用最大CPU时间30秒
每次Cron Trigger或Queue Consumer调用的最大CPU时间15分钟

  1. 对您的Worker的传入请求。Cloudflare不会对您从Worker发起的子请求计费。
标准使用模式的示例定价

一个每月处理1亿次请求的Worker,每次请求平均使用7毫秒的CPU时间,其预估成本如下:

月度成本 公式
订阅费 $5.00
请求费用 $27.00 ((1亿次请求 - 1000万次包含请求) / 1,000,000 * $0.30)
CPU时间费用 $13.40 ((每次请求7毫秒的CPU时间 * 1亿次请求 - 3000万包含CPU毫秒) / 1,000,000 * $0.02)
总计 $45.40
已弃用的使用模式

已弃用的使用模式包括:

  • 每月包含1000万次请求,超出部分每增加100万次请求收费0.50美元
  • 无持续时间费用,每次调用50毫秒的CPU时间
  • 每月包含100万次请求,超出部分每增加100万次请求收费0.15美元
  • 每月包含400,000 GB-s,超出部分每增加100万GB-s收费12.50美元
  • 每次调用CPU时间上限为2330秒
  1. 对您的Worker的传入请求。对外部服务的子请求不会按单位计费,但会影响您的Worker的持续时间(墙钟时间)。
  2. Cloudflare将根据墙钟时间或CPU时间中较高的一个来计费,并将CPU时间乘以8的倍数,以考虑分配给您的Worker的处理能力。Cloudflare不会对超出执行限制的墙钟时间持续时间收费。
  3. 持续时间计费将收取为您的Worker分配的128 MB内存的费用,不论实际使用情况如何。如果您的账户对单个Worker有大量流量,该Worker的多个实例可能在同一台物理机上的同一个隔离环境中运行并共享128 MB的内存。这些Worker仍然按独立实例计费,每个实例都被收费,就好像它们各自拥有128 MB的内存一样。
已弃用使用模式的示例定价

一个每月处理1亿次请求的Worker,预估成本如下:

月度成本 公式
Workers付费计划 $5.00
请求费用 $45.00 ((1亿次请求 - 1000万次包含请求) / 1,000,000 * $0.50)
总计 $50.00
无限制使用模式的示例定价

考虑一个每月处理1亿次请求的Worker,每次请求平均持续时间(墙钟时间)为200毫秒。这转化为以下持续时间(墙钟时间)指标:

  • 每次请求0.2秒(200毫秒 / 1000)
  • 每次请求0.025 GB-s(0.2秒 * 128 MB / 1024 MB)
  • 每月2,500,000 GB-s(0.025 GB-s每次请求 * 1亿次请求)

导致以下预估成本:

月度成本 公式
Workers付费计划 $5.00
请求费用 $14.85 ((1亿次请求 - 1000万次包含请求) / 1,000,000 * $0.15)
持续时间费用 $26.25 ((每月2,500,000 GB-s - 400,000包含GB-s) / 1,000,000 * $12.50)
总计 $46.10
如何切换使用模式

使用模式可以在单个Worker级别更改:

  • 登录到Cloudflare仪表板并选择您的账户。
  • 在账户主页中选择Workers & Pages。
  • 在概览中选择您的Worker > 设置 > 使用模式。

要更改默认的账户范围内的使用模式:

  • 登录到Cloudflare仪表板并选择您的账户。
  • 在账户主页中选择Workers & Pages。
  • 在右侧菜单中找到使用模式 > 更改。

更改默认使用模式时,现有的Workers不会受到影响。您可以更改单个Workers的使用模式,而不会影响账户范围内的默认使用模式。

Workers Trace Events Logpush

Workers Logpush仅在Workers付费计划上可用。付费计划的请求量为每月1.1亿次,每增加100万次收费0.05美元。

Workers KV

Workers KV在免费和付费Workers计划中都包含。

免费计划:

  • 读请求:每天100,000次
  • 写请求:每天1,000次
  • 删除请求:每天1,000次
  • 列表请求:每天1,000次
  • 存储数据:1 GB

付费计划:

  • 读请求:每月1000万次,超出部分每增加100万次收费0.50美元
  • 写请求:每月100万次,超出部分每增加100万次收费5.00美元
  • 删除请求:每月100万次,超出部分每增加100万次收费5.00美元
  • 列表请求:每月100万次,超出部分每增加100万次收费5.00美元
  • 存储数据:1 GB,超出部分每增加1 GB收费0.50美元
  1. Workers免费计划包括有限的Workers KV使用。所有限制每天在协调世界时00:00重置。如果您超出了这些限制中的任何一个,进一步的操作将会失败并出现错误。
队列

Cloudflare队列对每个队列在给定月份内进行的总操作数收费。操作是指每次写入、读取或删除的64 KB数据。大于64 KB的消息将按照多个消息收费:例如,65 KB的消息和127 KB的消息在写入、读取或删除时都会产生两个操作费用。KB定义为1,000字节,每条消息包含大约100字节的内部元数据。操作是按消息计算的,而不是按批次计算的。如果处理一批10条消息(默认批处理大小),将产生10倍的写入、读取和删除操作:每条消息一个。没有数据传输(出站)或吞吐量(带宽)费用。

免费层:

  • 付费标准操作:每月1,000,000次操作,每百万次操作收费0.40美元

在大多数情况下,传递一条消息需要3次操作:1次写入、1次读取和1次删除。因此,您可以使用以下公式来估算您的月度账单:((消息数量 * 3) - 1,000,000) / 1,000,000 * $0.40

此外:

  • 每次重试会产生一次读取操作。如果一批10条消息被重试,每次重试将产生10次操作。
  • 达到最大重试次数并写入死信队列的消息,每64 KB块都会产生一次写入操作。如果一条消息重试3次(默认),在第四次失败并写入死信队列,将产生五(5)次读取操作。
  • 写入队列但未被读取且达到最大持久性持续时间(或“过期”)之前的消息,每个64 KB块只会产生一次写入和删除操作。
D1

D1在Workers免费和付费计划上都可用。

Workers免费:

  • 读行:每天500万次
  • 每月前25亿次包含,超出部分每百万次收费0.001美元
  • 写行:每天10万次
  • 每月前50万次包含,超出部分每百万次收费1.00美元
  • 存储(每GB存储):总计5 GB,前5 GB包含,超出部分每GB收费0.75美元

Workers付费:

  • 读行:每月前25亿次包含,超出部分每百万次收费0.001美元
  • 写行:每月前50万次包含,超出部分每百万次收费1.00美元

存储(每GB存储):总计5 GB,前5 GB包含,超出部分每GB收费0.75美元

Durable Objects

Durable Objects仅在Workers付费计划上可用。

付费计划:

  • 请求:100万次,每增加100万次收费0.15美元
  • 包括HTTP请求、RPC会话1、WebSocket消息2和报警调用
  • 持续时间:3400,000 GB-s,每增加100万GB-s收费12.50美元
  • 4、5
  1. 每个RPC会话被计为对您的Durable Object的一个请求。对Durable Objects存根的每个RPC方法调用都是其自己的RPC会话,因此是一个单独的计费请求。
  2. RPC方法调用可以返回对象(存根),并在这些存根上调用。在返回的存根上的后续调用是同一RPC会话的一部分,不会被计为单独的请求。例如:
    let durableObjectStub = OBJECT_NAMESPACE.get(id);
    using foo = await durableObjectStub.bar();
    await foo.baz();
    await durableObjectStub.cat();
    
  3. 创建WebSocket连接需要一个请求。没有对传出WebSocket消息或传入WebSocket协议ping收费。对于仅计算请求的计费,传入的WebSocket消息应用20:1的比例,以考虑实时通信的较小消息。例如,100个WebSocket传入消息将作为5个请求计费。20:1的比例不影响Durable Object的指标和分析,它们反映了实际使用情况。
  4. 由state.setWebSocketAutoResponse()处理的应用级自动响应消息不会增加额外的墙钟时间,因此不会收费。
  5. 持续时间按墙钟时间计费,只要对象处于活动状态,但同时对对象上的所有活动请求共享。一旦您的对象完成对所有请求的响应,它将停止产生持续时间费用。在对象中的WebSocket上调用accept()将产生持续时间费用,直到WebSocket连接断开。如果您更喜欢,可以使用state.acceptWebSocket(),一旦所有事件处理程序运行完成,它将停止产生持续时间费用。
  6. 持续时间计费收取为您的Durable Object分配的128 MB内存的费用,不论实际使用情况如何。如果您的账户创建了单个Durable Object类的多个实例,Durable Objects可能在同一台物理机上的同一个隔离环境中运行并共享128 MB的内存。这些Durable Objects仍然按分配了完整128 MB内存的方式计费。
Durable Objects Transactional Storage API

Durable Objects Transactional Storage API仅可在Durable Objects内部访问。

Durable Objects不必使用Transactional Storage API,但如果您代码中调用了state.storage上的方法,将产生以下额外费用:
付费计划:

  • 读请求单元:1,21百万,每增加100万收费0.20美元
  • 写请求单元:31百万,每增加100万收费1.00美元
  • 删除请求:41百万,每增加100万收费1.00美元
  • 存储数据:51 GB,每增加1 GB收费0.20美元
  1. 请求单元定义为4 KB的数据读取或写入。写入或读取超过4 KB的请求将消耗多个单元,例如,9 KB的写入将消耗3个写请求单元。
  2. 列表操作按读取请求单元计费,基于检查的数据量。例如,返回80 KB的键和值的列表请求将被计费20个读取请求单元。没有返回任何内容的列表请求将被计费1个读取请求单元。
  3. 每个报警写入被计为一个写请求单元。
  4. 删除请求不受计量。例如,删除100 KB的值将收取一个删除请求的费用。
  5. Durable Objects将为存储数据计费,直到数据被移除。一旦数据被移除,对象将由系统自动清理。
Vectorize

Vectorize目前仅在Workers付费计划上可用。

Workers付费:

  • 总查询向量维度:每月前5000万查询向量维度包含 + 每增加100万收费0.040美元
  • 总存储向量维度:每月前1000万存储向量维度包含 + 每增加100万收费0.040美元
  • 5百万存储向量维度
  1. 将来,Vectorize将对Workers免费计划的开发者可用。

计算向量维度:
要计算您的潜在使用量,请计算您的存储和查询向量的总和,乘以维度大小,并乘以单价(除以100万)。公式定义为(存储向量 + 查询向量)* 维度 ($0.040 / 1,000,000)。
例如,插入10,000个每个768维度的向量,并每天查询1000次(每月30,000次),将计算为(30,000 * 768)= 23,040,000查询维度和(10,000 * 768)= 7,680,000存储维度(在包含的每月配额内)。
分别地,并且不包括包含的每月配额,这将计算为(30,000 + 10,000)
768 *($0.040 / 1,000,000)并总计为每月$1.23。

服务绑定

服务绑定的成本与任何正常Worker相同。每次调用都被视为来自互联网的请求。

如果您的Worker处于无限制使用模式,您将为单个传入请求触发的所有Workers收取单一的可计费持续时间。

有关服务绑定工作原理的更多信息,请参阅关于服务绑定的说明。

细则

Workers付费计划与您可能拥有的任何其他Cloudflare计划(免费、专业、商业)是分开的。如果您是企业客户,请联系您的账户团队以确认定价细节。

只有击中Worker的请求会计入您的限制和账单。由于Cloudflare Workers在Cloudflare缓存之前运行,请求的缓存仍然会产生成本。请参阅限制以查看达到限制后的定义和行为。