All Topics
All Topics
Technology
Technology
AI
AI
Business
Business
Entertainment
Entertainment
News
News
Programming
Programming
Security
Security
Science
Science
Design
Design
Environment
Environment
Finance
Finance
Crypto
Crypto
Politics
Politics
Sports
Sports
Education
Education
Gaming
Gaming
Art
Art
Music
Music
Health
Health
Books
Books
Food
Food
Travel
Travel
Personal
Personal
Bluesky
Twitter

Durable Objects, Workers - Access Durable Object name via `ctx.id.name`

3mo ago

Source

CloudflareDurable Objects, Workers - Access Durable Object name via `ctx.id.name`cloudflare.com
Snippet from the RSS feed
When your Worker accesses a Durable Object via idFromName() or getByName() , the same name is now available on ctx.id.name inside the object — no need to pass it through method arguments or persist it in storage. This brings the runtime behavior in line with the Workers runtime types . This is especially useful for alarms , where there is no calling client to pass the name as an argument. When an alarm handler runs, ctx.id.name will hold the same name the object was originally accessed with. import { DurableObject } from "cloudflare:workers" ; export class ChatRoom extends DurableObject { async getRoomName () { // ctx.id.name returns the name passed to getByName() or idFromName() return this . ctx . id . name ; } } // Worker export default { async fetch ( request , env ) { const stub = env . CHAT_ROOM . getByName ( "general" ) ; const roomName = await stub . getRoomName () ; return new Response ( `Welcome to ${ roomName } !` ) ; }, }; ctx.id.name is undefined in the following cases: For Durable Objects created with newUniqueId() . When accessed via idFromString() , even if the ID was originally created from a name. For names longer than 1,024 bytes . This works the same way in local development with wrangler dev as it does in production. Run npm update wrangler to ensure you are on a version with this support. For more information, refer to the Durable Object ID documentation .

You might also wanna read

Comments

Sign in to join the conversation.

No comments yet. Be the first.