Edge computing med Cloudflare Workers og Deno · leksjon

Tjenestebindinger og integrasjoner

Koble Workers til andre Cloudflare-tjenester og eksterne API-er ved hjelp av Service Bindings.

Leksjon 3 av 410 trinn

Tjenestebindinger og integrasjoner er en gratis leksjon i Edge computing med Cloudflare Workers og Deno på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Edge computing med Cloudflare Workers og Deno, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.

Introduksjon til Service Bindings

Velkommen til Service Bindings! I denne leksjonen lærer du hvordan Cloudflare Workers kan kommunisere direkte med hverandre og med andre Cloudflare-tjenester.

Tenk på Service Bindings som sikre, interne forbindelser som gir applikasjonene dine på kanten kraftig modularitet.

Hvorfor bruke Service Bindings?

Service Bindings har flere viktige fordeler:

  • Modularitet: Del opp komplekse Workers i mindre, gjenbrukbare komponenter.
  • Ytelse: Direkte intern kommunikasjon er raskere enn offentlige HTTP-forespørsler.
  • Sikkerhet: Hold interne API-kall utenfor det offentlige internett.
  • Abstraksjon: Behandle andre Workers eller tjenester som lokale moduler.

Kommunikasjon mellom Workers

En av de vanligste bruksområdene for Service Bindings er å la én Worker kalle en annen. Dette passer perfekt når du skal opprette mikrotjenester på kanten.

Du kan kalle en «mål»-Worker fra en «kallende» Worker, sende forespørsler og motta svar som om de var del av samme applikasjon.

Kode: Mål-Worker-en

Først oppretter vi en enkel «mål»-Worker. Denne Worker-en svarer med en bestemt melding når den blir kalt.

Lagre 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 kallende Worker-en

Nå oppretter vi en «kallende» Worker som bruker en tilknytning til å kalle «mål»-Worker-en vår. Legg merke til hvordan env.TARGET_WORKER.fetch(request) brukes.

Lagre 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' }
    });
  },
};

Konfigurere Worker-tilknytninger

For å koble den «kallende» Worker-en til «mål»-Worker-en må du legge til en service_binding-oppføring i wrangler.toml-filen til den kallende Worker-en.

Dette forteller Cloudflare hvilket Worker-prosjekt som skal kobles til, og hvilket navn (for eksempel TARGET_WORKER) du skal bruke i koden.

# 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

Pass på at begge Worker-ene er distribuert til Cloudflare.

Tilknytninger til Cloudflare-tjenester

Service Bindings er ikke begrenset til Workers! Du kan også knytte Worker-en din direkte til andre Cloudflare-tjenester, som KV Namespaces, R2-bøtter, D1-databaser og Durable Objects.

Dette gir Worker-en direkte, sikker og effektiv tilgang til disse ressursene via env-objektet.

Kode: Tilknytning til KV Namespace

Slik konfigurerer du en tilknytning til et KV Namespace i 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

Deretter får du tilgang til det i koden til Worker-en din:

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 kunnskapene dine!

Velg det beste svaret.

Oppsummering: Tilknytninger og integrasjoner

Du har lært om Cloudflare Worker Service Bindings!

  • De gir Workers en kraftig måte å kommunisere direkte med andre Workers eller Cloudflare-tjenester på.
  • Fordelene omfatter modularitet, ytelse og sikkerhet.
  • Du konfigurerer tilknytninger i wrangler.toml-filen.
  • De muliggjør komplekse arkitekturer der Workers fungerer som byggeklosser.

Fortsett å utforske hvordan disse tilknytningene kan forenkle utviklingen på kanten!

Gratis å komme i gang

Lær deg Edge computing med Cloudflare Workers og Deno med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
47

Ofte stilte spørsmål

Er leksjonen «Tjenestebindinger og integrasjoner» gratis?

Ja – hele teksten i «Tjenestebindinger og integrasjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Edge computing med Cloudflare Workers og Deno-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.

Hva lærer jeg i «Tjenestebindinger og integrasjoner»?

Koble Workers til andre Cloudflare-tjenester og eksterne API-er ved hjelp av Service Bindings. Du øver på Edge computing med Cloudflare Workers og Deno med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Edge computing med Cloudflare Workers og Deno?

Ingen tidligere erfaring er nødvendig. Edge computing med Cloudflare Workers og Deno på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Tjenestebindinger og integrasjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

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

Ja. Alle Edge computing med Cloudflare Workers og Deno-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. WebSockets og sanntid
  2. Køer og asynkrone oppgaver
  3. Tjenestebindinger og integrasjoner
  4. Cron Triggers og tidsstyrte Workers
← Tilbake til Edge computing med Cloudflare Workers og Deno