Edge computing med Cloudflare Workers og Deno · Lektion

Service Bindings og integrationer

Forbind Workers med andre Cloudflare-tjenester og eksterne API'er ved hjælp af Service Bindings.

Lektion 3 af 410 trin

Service Bindings og integrationer er en gratis Edge computing med Cloudflare Workers og Deno-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Edge computing med Cloudflare Workers og Deno, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Introduktion til Service Bindings

Velkommen til Service Bindings! I denne lektion lærer du, hvordan Cloudflare Workers kan kommunikere direkte med hinanden og med andre Cloudflare-tjenester.

Tænk på Service Bindings som sikre, interne forbindelser, der giver dine applikationer ved kanten effektiv modularitet.

Hvorfor bruge Service Bindings?

Service Bindings har flere vigtige fordele:

  • Modularitet: Opdel komplekse Workers i mindre komponenter, der kan genbruges.
  • Ydeevne: Direkte intern kommunikation er hurtigere end offentlige HTTP-forespørgsler.
  • Sikkerhed: Hold interne API-kald væk fra det offentlige internet.
  • Abstraktion: Behandl andre Workers eller tjenester som lokale moduler.

Kommunikation fra Worker til Worker

En af de mest almindelige anvendelser af Service Bindings er at lade én Worker kalde en anden. Det er perfekt til at oprette mikrotjenester ved kanten.

Du kan kalde en »mål-Worker« fra en »kaldende Worker«, sende forespørgsler og modtage svar, som om de var en del af den samme applikation.

Kode: Mål-Workeren

Lad os først oprette en simpel »mål-Worker«. Denne Worker svarer med en bestemt meddelelse, når den kaldes.

Gem dette som target-worker/src/index.js:

export default {
  async fetch(request, env, ctx) {
    return new Response("Hello from the Target Worker!", {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Kode: Den kaldende Worker

Lad os nu oprette en »kaldende« Worker, der bruger en binding til at kalde vores »mål-Worker«. Bemærk, hvordan env.TARGET_WORKER.fetch(request) bruges.

Gem dette som invoking-worker/src/index.js:

export default {
  async fetch(request, env, ctx) {
    // 'TARGET_WORKER' is the binding name defined in wrangler.toml
    const response = await env.TARGET_WORKER.fetch(request);
    const text = await response.text();
    return new Response(`Invoker received: ${text}`, {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Konfiguration af Worker-bindings

For at forbinde den »kaldende« Worker med »mål-Workeren« skal du tilføje en service_binding-post i filen wrangler.toml for din kaldende Worker.

Det fortæller Cloudflare, hvilket Worker-projekt der skal forbindes til, og hvilket navn (f.eks. TARGET_WORKER) der skal bruges i din kode.

# In the invoking-worker's wrangler.toml
name = "invoking-worker"
main = "src/index.js"
compatibility_date = "2023-12-01"

[[service_bindings]]
name = "TARGET_WORKER"
service = "target-worker" # Name of the target Worker project

Sørg for, at begge Workers er implementeret på Cloudflare.

Bindings til Cloudflare-tjenester

Service Bindings er ikke begrænset til Workers! Du kan også binde din Worker direkte til andre Cloudflare-tjenester som KV Namespaces, R2-buckets, D1-databaser og Durable Objects.

Det giver din Worker direkte, sikker og effektiv adgang til disse ressourcer via env-objektet.

Kode: Binding til KV Namespace

Sådan konfigurerer du en binding til et KV Namespace i din wrangler.toml:

# In your Worker's wrangler.toml
name = "my-worker"
main = "src/index.js"
compatibility_date = "2023-12-01"

[[kv_namespaces]]
binding = "MY_KV" # The variable name in your Worker
id = "YOUR_KV_NAMESPACE_ID" # Replace with your actual KV ID

Derefter får du adgang til det i din Workers kode:

export default {
  async fetch(request, env, ctx) {
    // 'MY_KV' is the binding name from wrangler.toml
    await env.MY_KV.put("greeting", "Hello from KV!");
    const message = await env.MY_KV.get("greeting");
    return new Response(`KV says: ${message}`, {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Test din viden!

Vælg det bedste svar.

Opsummering: Bindings og integrationer

Du har lært om Cloudflare Worker Service Bindings!

  • De giver Workers en effektiv måde at kommunikere direkte med andre Workers eller Cloudflare-tjenester på.
  • Fordelene omfatter modularitet, ydeevne og sikkerhed.
  • Du konfigurerer bindings i din wrangler.toml-fil.
  • De muliggør komplekse arkitekturer, hvor Workers fungerer som byggeblokke.

Fortsæt med at undersøge, hvordan disse bindings kan forenkle din udvikling ved kanten!

Gratis at komme i gang

Lær Edge computing med Cloudflare Workers og Deno med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
47

Ofte stillede spørgsmål

Er lektionen “Service Bindings og integrationer” gratis?

Ja — hele teksten til “Service Bindings og integrationer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Edge computing med Cloudflare Workers og Deno-kurset, skal du opgradere til CoddyKit PRO. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Service Bindings og integrationer”?

Forbind Workers med andre Cloudflare-tjenester og eksterne API'er ved hjælp af Service Bindings. Du øver dig i Edge computing med Cloudflare Workers og Deno med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Edge computing med Cloudflare Workers og Deno?

Der kræves ingen tidligere erfaring. Edge computing med Cloudflare Workers og Deno på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Service Bindings og integrationer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Edge computing med Cloudflare Workers og Deno-lektion?

Ja. Alle Edge computing med Cloudflare Workers og Deno-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. WebSockets og realtid
  2. Queues og asynkrone opgaver
  3. Service Bindings og integrationer
  4. Cron Triggers og scheduled Workers
← Tilbage til Edge computing med Cloudflare Workers og Deno