订阅以接收新文章的通知:

R2 引入了事件通知、支持从 Google Cloud Storage 迁移,以及低频访问存储层

2024-04-03

2 分钟阅读时间
这篇博文也有 EnglishFrançaisDeutsch日本語한국어Español繁體中文版本。

隆重宣布,我们的零出口费用对象存储平台 ——Cloudflare R2 现已新增三项功能 :

R2 adds event notifications, support for migrations from Google Cloud Storage, and an infrequent access storage tier
  • 事件通知:当 R2 桶中的数据发生变化时,自动触发 Workers 并执行操作。

  • 适用于 Google Cloud Storage 的 Super Slurper :轻松将数据从 Google Cloud Storage 迁移到 cloudflare R2。

  • “低频访问”私测:以更低的成本存储不常访问的数据。现已开启私测(立即注册)。

“事件通知”功能公测

数据的生命周期通常不会在上传到 R2 桶后立即停止 —— 事件数据可能需要转换并加载到数据仓库中,媒体文件可能需要经过后处理步骤等。我们正在发布 R2 事件通知功能的公测,使您能够构建不断变化的数据驱动的应用程序和工作流。

事件通知的工作方式是,每次数据发生变化时 ,向您的队列发送消息 。然后,这些消息将被消费者 Worker 接收 ,您可以在其中定义需要采取的任何后续行动。要开始在 R2 桶上启用事件通知,请运行以下 Wrangler 命令(分别用桶名和队列名替换bucket_name 和 queue _name ):

要进一步了解如何在 R2 数据桶上设置事件通知以及测试期间的限制,请参阅 文档。

适用于 Google Cloud Storage 的 R2 Super Slurper

wrangler r2 bucket notification create <bucket_name> --event-type object-create --queue <queue_name>

R2 Super Slurper 现在可以将数据从 Google Cloud Storage (GCS) 迁移到 Cloudflare R2 。R2 Super Slurper 于去年发布,目标是使一次性全面数据迁移变得快捷、可靠和简单:无需启动迁移 虚拟机和实施复杂的重试逻辑。从那时起,成千上万的开发人员已经使用 Super Slurper 将 PB 级的数据从 AWS S3 迁移到 R2。现在,Google Cloud Storage 客户可以将数据迁移到 R2,以便 受益于 Cloudflare 的零出口费用,无论您是否将数据永久迁移到其他提供商。

要开始从 GCS 迁移数据:

  1. 在 Cloudflare 仪表板中,选择 R2 > 数据迁移。

  2. 选择迁移文件。

  3. 选择 Google Cloud Storage 作为源存储桶提供商。

  4. 输入桶名称和相关凭据,然后选择 下一步。

  5. 输入 R2 桶名称和相关凭据,然后选择下一步。

  6. 检查迁移的详细信息后,选择迁移文件。

您可以随时在仪表板上查看迁移任务的状态。有关如何使用 R2 Super Slurper 的更多信息,请参阅此处的文档 。

“低频访问”功能私测

隆重推出全新“低频访问”存储类别的私测。对于涉及不常访问数据(长尾用户生成的内容、日志 等)的用例,“低频访问”功能可让您在保持性能和耐用性的同时,支付更少的存储费用。

下面是一个示例,说明如何使用 Workers 将对象上传到属于新“低频访问”存储类别的 R2 存储桶

除了将对象直接上传到“低频访问”之外,您还可以定义对象生命周期策略 ,以便在一段时间过后、不再需要频繁访问数据时将数据转移到“低频访问”。未来,我们计划自动优化数据存储类别,以便避免手动创建规则,更好地适应不断变化的数据访问模式。

对于存储在 “低频访问” 存储 类别中的数据,定价结构类似于您使用 R2时的定价结构 :存储、 A类操作 (写入、列出)、 B 类操作 (读取)和数据检索(处理)。当检索“低频访问”存储类别中的数据时,数据检索按 GB 收费,这也是我们能以较低价格提供存储的原因。它反映了从针对低 频访问而优化的底层存储中获取数据所需的额外计算资源。当您确实需要使用数据时,仍然无需支付出口费用。

# wrangler.toml
[[r2_buckets]]
binding = 'MY_BUCKET'
bucket_name = '<YOUR_BUCKET_NAME>'

# index.ts
export default {
   async fetch(request: Request, env: Env): Promise<Response> {
      if (request.method === "PUT") {
         await env.MY_BUCKET.put("myobject", request.body, storageClass: "InfrequentAccess");
         return new Response("Put object successfully!");
      }
      return new Response("Not a PUT!");
   }
}

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-nltl{background-color:#f56b00;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}

组成部分

Component Price
Storage $0.01 / GB-month
Class A Operations $9.00 / million requests
Class B Operations $0.90 / million requests
Data Retrieval (Processing) $0.01 / GB
Egress (or Data Transfer) $0 - No Charge

价格

S存储

0.01 美元/GB-月

A 类操作

9.00 美元/百万次请求

B 类操作

0.90 美元/百万次请求

数据检索(处理)

0.01 美元/GB

出口(或数据传输)

0 美元 - 不收费

您有兴趣参加“低频访问”的私测吗?加入私测等待名单以获得访问权限。

有任何反馈意见?

我们非常乐意听取您的意见!要对 R2 及我们的数据迁移服务提出反馈意见,欢迎加入Cloudflare 开发人员 Discord 。如果您有兴趣了解有关 R2 的更多信息,请访问 R2 的开发人员文档,或使用我们的定价计算器查看您可以节省多少费用。

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
Developer Week开发人员R2 Storage产品新闻Developer PlatformConnectivity Cloud

在 X 上关注

Cloudflare|@cloudflare

相关帖子