Browser Rendering API 正式上市,推出 Cloudflare Snippets、SWR,並向所有使用者提供 Workers for Platforms
2024-04-05
Browser Rendering API 現已向所有付費 Workers 客戶提供,並改進了工作階段管理...
\n \n
2023 年 5 月,我們宣布了 Browser Rendering API 的公開測試計畫。Browser Rendering 允許開發人員以程式設計方式控制無頭瀏覽器執行個體並與之互動,以及為其應用程式和產品建立自動化流程。
同時,我們推出了可與 Browser Rendering 配合使用的 Puppeteer 庫版本。這樣,開發人員可以在 Cloudflare Workers 之上使用熟悉的 API 來建立各種工作流程,例如截取頁面螢幕截圖或自動軟體測試。
今天,Browser Rendering 向前更進一步,不再處於測試階段,並對所有付費 Workers 方案使用者可用。此外,我們正在增強 API 並引入我們在公開測試社群中討論了很長時間的新功能:工作階段管理。
\n工作階段管理允許開發人員在 Worker 指令碼中重複使用先前開啟的瀏覽器。重複使用瀏覽器工作階段的優點是,您不需要為每個請求和每個任務樣例化新的瀏覽器,從而大大提高效能並降低成本。
以前,為了保持瀏覽器執行個體處於活動狀態並重複使用它,您必須使用 Durable Objects 來實作複雜的程式碼。現在,我們簡化了這一流程,讓瀏覽器在背景中執行並使用新工作階段管理方法來延伸 Puppeteer API,讓您可以存取所有正在執行的工作階段、活動歷程記錄和作用中限制。
以下是列出作用中工作階段的方法:
我們在開發人員文件中新增了有關如何使用工作階段管理的 Worker 指令碼範例。
\nconst sessions = await puppeteer.sessions(env.RENDERING);\nconsole.log(sessions);\n[\n {\n "connectionId": "2a2246fa-e234-4dc1-8433-87e6cee80145",\n "connectionStartTime": 1711621704607,\n "sessionId": "478f4d7d-e943-40f6-a414-837d3736a1dc",\n "startTime": 1711621703708\n },\n {\n "sessionId": "565e05fb-4d2a-402b-869b-5b65b1381db7",\n "startTime": 1711621703808\n }\n]
\n \n 可觀察性是所有 Cloudflare 產品的重要組成部分。您可以在帳戶的 Worker & Pages 部分下的儀表板中找到 Browser Rendering 使用情況的詳細分析和記錄。
現在,所有擁有付費 Workers 方案的客戶都可以使用 Browser Rendering。每個帳戶僅限每分鐘執行兩個新瀏覽器,並在此期間免費執行兩個並行瀏覽器。請查看我們的開發人員頁面以開始使用。
\nSnippets 功能強大、可程式設計且免費,是在 Cloudflare 上執行複雜 HTTP 請求和回應修改的最佳方式。曾經無法使用 Rules 產品實現的進階功能現在可以透過 Snippets 實現。自 2022 年 Developer Week 期間首次宣布以來,透過編寫簡單的 JavaScript 程式碼來延伸現有 Rules 功能的承諾讓 Cloudflare 社群感到興奮不已。
僅僅在 2024 年的前 3 個月,通過 Snippets 的流量就增加了 7 倍多,從 1 月初的平均每秒 2,200 個請求增加到 3 月的超過 17,000 個請求。
然而,我們不會打開閘門並讓數百萬Cloudflare 使用者以最意想不到的方式測試(並可能破壞)Snippets,而是會調整自己的節奏並選擇分階段推出,就像新發布的針對 Workers 的 Gradual Rollouts 一樣。
\n在接下來的幾週內,5% 的 Cloudflare 使用者將開始在儀表板區域級功能表的「Rules」索引標簽下看到「Snippets」。如果您碰巧屬於前 5%,請立即採取行動,嘗試 Snippets 的速度和強大功能,甚至對於進階使用案例(例如動態變更標題中的日期或利用 `math.random` 函數進行 A/B 測試)也是如此。無論您使用 Snippets 做什麼,請記住一件事:這仍然是 Alpha 測試版,所以請不要將 Snippets 用於生產流量。
在此之前,請密切關注 Cloudflare 儀表板中的新 Snippets 索引標簽,同時透過開發人員文件詳細瞭解 Snippets 的強大功能和靈活性。
\n即將推出:使用 stale-while-revalidate 進行非同步重新驗證
我們的客戶呼聲最高的一項功能是使用 stale-while-revalidate (SWR) 快取指令進行非同步重新驗證,我們將在 2024 年下半年為您提供此功能。該功能將作為我們使用 Rust 建立的新 CDN 架構的一部分,以效能和記憶體安全為首要考量因素。
目前,當用戶端請求資源(例如網頁或影像)時,Cloudflare 會檢查該資產是否在快取中,並在可用的情況下提供快取副本。如果檔案不在快取中或已過期並變得過時,Cloudflare 將連接到來源伺服器以尋找檔案的新版本,並將此新版本轉發給終端使用者。此等待時間會增加這些請求的延遲並影響效能。
Stale-while-revalidate 是一個快取指令,允許將過期或過時版本的資產提供給終端使用者,同時允許 Cloudflare 檢查來源以查看是否有可用資源的最新版本。如果存在更新版本,來源會將其轉送到 Cloudflare,並在此過程中更新快取。這種機制允許用戶端快速接收來自快取的回應,同時確保它始終能夠存取最新的內容。Stale-while-revalidate 在高效提供內容和確保其新鮮度之間取得平衡,從而提高效能並提供更流暢的使用者體驗。
想要成為我們的 Beta 測試人員並「快取」樂趣的客戶可以在這裡註冊,當該功能準備好進行測試時,我們會通知您!
\n今天,我們很高興地與大家分享,4 月 16 日,Workers for Platforms 將透過我們新的 25 美元隨用隨付方案向所有開發人員開放!
Workers for Platforms 正在改變我們建立軟體的方式——它讓您能夠將個人化和自訂直接嵌入到您的產品中。透過 Workers for Platforms,您可以代表您的使用者部署自訂程式碼,或讓您的使用者直接將自己的程式碼部署到您的平台,而您或您的使用者無需管理任何基礎架構。您可以將 Workers for Platforms 與本 Developer Week 期間發布的所有新功能一起使用——它支援 Workers 附帶的所有綁定(包括 Workers AI、D1 和 Durable Objects)以及 Python Workers。
以下是我們的一些客戶(從企業到新創公司)正在 Workers for Platforms 上建立的內容:
Shopify Oxygen 是基於 Remix 的電子商務框架 Hydrogen 的託管平台,它建構在 Workers for Platforms 之上!Hydrogen/Oxygen 組合使 Shopify 商家能夠控制其買家體驗,而不受通用店面範本的限制。
Grafbase 是一個資料平台,供開發人員建立無伺服器 GraphQL API,將整個企業的資料來源統一到一個端點下。他們使用 Workers for Platforms 為開發人員提供控制權和靈活性,以部署他們自己用 JavaScript/TypeScript 或 WASM 編寫的程式碼。
Triplit 是一個開放原始碼資料庫,可以在伺服器和瀏覽器之間即時同步資料。它允許使用者建立低延遲、即時的應用程式,並具有內建的關係查詢、結構描述管理和伺服器端儲存等功能。它們的查詢和同步引擎構建在 Durable Objects 之上,並且使用 Workers for Platforms 來允許其客戶將自訂 JavaScript 與 Triplit 資料庫執行個體封裝在一起。
Workers for Platforms 不只是讓您能夠將 Workers 部署到您的平台,我們知道,對使用者的 Workers 進行觀察和控制同樣十分重要。我們有一些解決方案可以幫助實現這一點:
自訂限制:為使用者的 Workers 設定 CPU 時間或子請求上限。可用於設定限制,以控制您在 Cloudflare 上的成本和/或塑造您自己的定價和封裝模型。例如,如果您在平台上執行免費增值模型,則可以降低免費套餐中客戶的 CPU 時間限制。
Tail Workers:Tail Workers 事件包含有關 Worker 的中繼資料、console.log() 訊息,並擷取任何未處理的異常。它們可用於為開發人員提供即時記錄,以便即時監控錯誤並進行疑難排解。
Outbound Workers:瞭解使用者 Workers 的所有傳出請求。Outbound Workers 位於使用者 Workers 和他們發出的 fetch() 請求之間,因此您可以在將請求傳送到網際網路之前對其進行全面瞭解。
我們希望確保愛好者、獨立開發人員和小型開發團隊都能夠負擔得起 Workers for Platforms。Workers for Platforms 是新的 25 美元隨用隨付方案的一部分,它包括以下內容:
.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;} .tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-buh4{background-color:#f9f9f9;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
\n\n | Included Amounts | \n
---|---|
Requests | \n20 million requests/month +$0.30 per additional million | \n
CPU time | \n60 million CPU milliseconds/month +$0.02 per additional million CPU milliseconds | \n
Scripts | \n1000 scripts +0.02 per additional script/month | \n
包含金額
請求
2000 萬個請求/月每增加 100 萬個 + 0.3 美元
CPU 時間
6 千萬 CPU 毫秒/月每增加 100 萬 CPU 毫秒 + 0.02 美元
指令碼
1000 個指令碼每月每個額外指令碼 + 0.02 美元
\nWorkers for Platforms 將於 2024 年 4 月 16 日在 Cloudflare 儀表板的 Workers for Platforms 索引標簽下開放購買。
同時,要瞭解有關 Workers for Platforms 的更多資訊,請查看我們的入門專案和開發人員文件。
"],"published_at":[0,"2024-04-05T14:01:00.000+01:00"],"updated_at":[0,"2024-10-09T23:27:58.378Z"],"feature_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1Ih6FFoOVX6GtgR7ZnmP20/136e933b69062f65c3d940fb6f880511/browser-rendering-api-ga-rolling-out-cloudflare-snippets-swr-and-bringing-workers-for-platforms-to-our-paygo-plans.png"],"tags":[1,[[0,{"id":[0,"2xCnBweKwOI3VXdYsGVbMe"],"name":[0,"Developer Week"],"slug":[0,"developer-week"]}],[0,{"id":[0,"4HIPcb68qM0e26fIxyfzwQ"],"name":[0,"開發人員"],"slug":[0,"developers"]}],[0,{"id":[0,"3JAY3z7p7An94s6ScuSQPf"],"name":[0,"開發人員平臺"],"slug":[0,"developer-platform"]}],[0,{"id":[0,"36Dg2NwTgUHhrlE0FRpSdJ"],"name":[0,"Application Services"],"slug":[0,"application-services"]}],[0,{"id":[0,"6QktrXeEFcl4e2dZUTZVGl"],"name":[0,"產品新聞"],"slug":[0,"product-news"]}],[0,{"id":[0,"3E2D6D4cI82KIloPpl0WZW"],"name":[0,"General Availability"],"slug":[0,"general-availability"]}],[0,{"id":[0,"6hbkItfupogJP3aRDAq6v8"],"name":[0,"Cloudflare Workers"],"slug":[0,"workers"]}]]],"relatedTags":[0],"authors":[1,[[0,{"name":[0,"Tanushree Sharma"],"slug":[0,"tanushree"],"bio":[0,"Product Manager, Cloudflare Workers"],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/77c5gQJtSO9WoLGws7OZef/e429d24838ca9eaa433be9015e69d938/tanushree.jpg"],"location":[0,"Austin"],"website":[0,null],"twitter":[0,"@_tanushreeeee"],"facebook":[0,null]}],[0,{"name":[0,"Celso Martinho"],"slug":[0,"celso"],"bio":[0,"From when Mosaic took over Gopher. Engineering Director at Cloudflare."],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2pzgat1zmt1oF1byi7hskH/7b25e8e00117ee44afe36ad27d7d8032/celso.png"],"location":[0,"Portugal, Lisbon"],"website":[0,"https://celso.io/"],"twitter":[0,"@celso"],"facebook":[0,null]}],[0,{"name":[0,"Nikita Cano"],"slug":[0,"nikita"],"bio":[0,"Product Manager, Rules and Insights (Configuration Rules, Compression Rules, Page Rules, Redirect Rules, Origin Rules, Snippets, Trace, Traffic Sequence, Transform Rules, URL Normalization, etc.)"],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6hGB1W3bIJaibV4F7Qe0L8/56f554eeae28828297135a54eacc3065/nikita.jpeg"],"location":[0,"London, United Kingdom"],"website":[0,"https://nikitacano.com"],"twitter":[0,null],"facebook":[0,null]}],[0,{"name":[0,"Matt Bullock"],"slug":[0,"matt-bullock"],"bio":[0,"Product at Cloudflare."],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3fEkxzMVixG4qTwCCMFlbP/50e9297df6fdc184e4cda6d4e935db69/matt-bullock.jpeg"],"location":[0,"London, England"],"website":[0,null],"twitter":[0,"@mibullock"],"facebook":[0,null]}],[0,{"name":[0,"Tim Kornhammar"],"slug":[0,"tim-kornhammar"],"bio":[0,null],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/48jH4cWwD5fakrdEvnB67d/5b3dae96cf6bc0b1032cb17a7a300b74/tim-kornhammar.jpg"],"location":[0,"Texas, USA"],"website":[0,null],"twitter":[0,null],"facebook":[0,null]}]]],"meta_description":[0,"Browser Rendering API is now available to all paid Workers customers with improved session management"],"primary_author":[0,{}],"localeList":[0,{"name":[0,"Browser Rendering API GA, rolling out Cloudflare Snippets, SWR, and bringing Workers for Platforms to all users Config"],"enUS":[0,"English for Locale"],"zhCN":[0,"Translated for Locale"],"zhHansCN":[0,"No Page for Locale"],"zhTW":[0,"Translated for Locale"],"frFR":[0,"Translated for Locale"],"deDE":[0,"Translated for Locale"],"itIT":[0,"No Page for Locale"],"jaJP":[0,"Translated for Locale"],"koKR":[0,"Translated for Locale"],"ptBR":[0,"No Page for Locale"],"esLA":[0,"No Page for Locale"],"esES":[0,"Translated for Locale"],"enAU":[0,"No Page for Locale"],"enCA":[0,"No Page for Locale"],"enIN":[0,"No Page for Locale"],"enGB":[0,"No Page for Locale"],"idID":[0,"No Page for Locale"],"ruRU":[0,"No Page for Locale"],"svSE":[0,"No Page for Locale"],"viVN":[0,"No Page for Locale"],"plPL":[0,"No Page for Locale"],"arAR":[0,"No Page for Locale"],"nlNL":[0,"No Page for Locale"],"thTH":[0,"No Page for Locale"],"trTR":[0,"No Page for Locale"],"heIL":[0,"No Page for Locale"],"lvLV":[0,"No Page for Locale"],"etEE":[0,"No Page for Locale"],"ltLT":[0,"No Page for Locale"]}],"url":[0,"https://blog.cloudflare.com/browser-rendering-api-ga-rolling-out-cloudflare-snippets-swr-and-bringing-workers-for-platforms-to-our-paygo-plans"],"metadata":[0,{"title":[0,"Browser Rendering API 正式上市,推出 Cloudflare Snippets、SWR,並向所有使用者提供 Workers for Platforms"],"description":[0,"Browser Rendering API is now available to all paid Workers customers with improved session management"],"imgPreview":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2BGxwCh7DwxLBR0xYKIVdX/6fe42312dc461d91b5cdf2913311bc75/browser-rendering-api-ga-rolling-out-cloudflare-snippets-swr-and-bringing-workers-for-platforms-to-our-paygo-plans-HjUhJz.png"]}]}],"locale":[0,"zh-tw"],"translations":[0,{"posts.by":[0,"作者:"],"footer.gdpr":[0,"GDPR"],"lang_blurb1":[0,"本貼文還提供以下語言版本:{lang1}。"],"lang_blurb2":[0,"本貼文還提供以下語言版本:{lang1} 和{lang2}。"],"lang_blurb3":[0,"本貼文還提供以下語言版本:{lang1},{lang2} 和{lang3}。"],"footer.press":[0,"新聞"],"header.title":[0,"Cloudflare 部落格"],"search.clear":[0,"清除"],"search.filter":[0,"篩選"],"search.source":[0,"來源"],"footer.careers":[0,"人才招募"],"footer.company":[0,"公司"],"footer.support":[0,"支援"],"footer.the_net":[0,"theNet"],"search.filters":[0,"篩選器"],"footer.our_team":[0,"我們的團隊"],"footer.webinars":[0,"網路研討會"],"page.more_posts":[0,"更多貼文"],"posts.time_read":[0,"閱讀時間:{time} 分鐘"],"search.language":[0,"語言"],"footer.community":[0,"社群"],"footer.resources":[0,"資源"],"footer.solutions":[0,"解決方案"],"footer.trademark":[0,"商標"],"header.subscribe":[0,"訂閱"],"footer.compliance":[0,"合規性"],"footer.free_plans":[0,"免費方案"],"footer.impact_ESG":[0,"影響力/ESG"],"posts.follow_on_X":[0,"在 X 上進行關注"],"footer.help_center":[0,"幫助中心"],"footer.network_map":[0,"網路分佈圖"],"header.please_wait":[0,"請稍候"],"page.related_posts":[0,"相關貼文"],"search.result_stat":[0,"針對 {search_keyword} 的第 {search_range} 個搜尋結果(共 {search_total} 個結果)"],"footer.case_studies":[0,"案例研究"],"footer.connect_2024":[0,"Connect 2024"],"footer.terms_of_use":[0,"服務條款"],"footer.white_papers":[0,"白皮書"],"footer.cloudflare_tv":[0,"Cloudflare TV"],"footer.community_hub":[0,"社群中心"],"footer.compare_plans":[0,"比較各項方案"],"footer.contact_sales":[0,"連絡銷售團隊"],"header.contact_sales":[0,"連絡銷售團隊"],"header.email_address":[0,"電子郵件地址"],"page.error.not_found":[0,"找不到頁面"],"footer.developer_docs":[0,"開發人員文件"],"footer.privacy_policy":[0,"隱私權原則"],"footer.request_a_demo":[0,"請求示範"],"page.continue_reading":[0,"繼續閱讀"],"footer.analysts_report":[0,"分析報告"],"footer.for_enterprises":[0,"企業適用"],"footer.getting_started":[0,"開始使用"],"footer.learning_center":[0,"學習中心"],"footer.project_galileo":[0,"Galileo 專案"],"pagination.newer_posts":[0,"較新貼文"],"pagination.older_posts":[0,"較舊貼文"],"posts.social_buttons.x":[0,"在 X 上進行討論"],"search.icon_aria_label":[0,"搜尋"],"search.source_location":[0,"來源/地點"],"footer.about_cloudflare":[0,"關於 Cloudflare"],"footer.athenian_project":[0,"Athenian 專案"],"footer.become_a_partner":[0,"成為合作夥伴"],"footer.cloudflare_radar":[0,"Cloudflare Radar"],"footer.network_services":[0,"網路服務"],"footer.trust_and_safety":[0,"信任和安全"],"header.get_started_free":[0,"免費開始使用"],"page.search.placeholder":[0,"搜尋 Cloudflare"],"footer.cloudflare_status":[0,"Cloudflare 狀態"],"footer.cookie_preference":[0,"Cookie 喜好設定"],"header.valid_email_error":[0,"必須是有效電子郵件。"],"search.result_stat_empty":[0,"第 {search_range} 筆搜尋結果(共 {search_total} 筆)"],"footer.connectivity_cloud":[0,"全球連通雲"],"footer.developer_services":[0,"開發人員服務"],"footer.investor_relations":[0,"投資人關係"],"page.not_found.error_code":[0,"錯誤代碼:404"],"search.autocomplete_title":[0,"插入查詢。按下 Enter 鍵即可傳送"],"footer.logos_and_press_kit":[0,"標誌與新聞資料包"],"footer.application_services":[0,"應用程式服務"],"footer.get_a_recommendation":[0,"取得建議"],"posts.social_buttons.reddit":[0,"在 Reddit 上進行討論"],"footer.sse_and_sase_services":[0,"SSE 和 SASE 服務"],"page.not_found.outdated_link":[0,"您可能使用了過時的連結,或者可能輸入了錯誤的位址。"],"footer.report_security_issues":[0,"報告網路安全問題"],"page.error.error_message_page":[0,"抱歉,我們找不到您想要的頁面。"],"header.subscribe_notifications":[0,"訂閱以接收新文章的通知:"],"footer.cloudflare_for_campaigns":[0,"Cloudflare for Campaigns"],"header.subscription_confimation":[0,"訂閱已確認。感謝訂閱!"],"posts.social_buttons.hackernews":[0,"在 Hacker News 上進行討論"],"footer.diversity_equity_inclusion":[0,"多樣性、公平性和包容性"],"footer.critical_infrastructure_defense_project":[0,"關鍵基礎架構防禦專案"]}]}" ssr="" client="load" opts="{"name":"PostCard","value":true}" await-children="">2024-04-05
Browser Rendering API 現已向所有付費 Workers 客戶提供,並改進了工作階段管理...
2024-04-04
今天,我們將推出以下五項更新,從而為您提供更強功能:逐步部署、Tail Workers 中的來源對應堆疊追蹤、全新的 Rate Limiting API、全新的 API SDK 以及 Durable Objects 更新,每一項更新的構建都將任務關鍵型生產服務納入了考量...
2023-05-16
Smart Placement 會自動將您的工作負載放置在可將延遲降至最低的最佳位置,並加快您的應用程式速度!...
2022-03-14
我們很高興宣布,Cloudflare 客戶現在能夠直接將其記錄直接推送至 IBM Security QRadar SIEM。這種直接整合能夠讓 Cloudflare 和 QRadar SIEM 客戶節省成本,傳送記錄也更快速,因為不需要中間雲端儲存...