Tjenestebindinger og integrasjoner
Koble Workers til andre Cloudflare-tjenester og eksterne API-er ved hjelp av Service Bindings.
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!
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
- WebSockets og sanntid
- Køer og asynkrone oppgaver
- Tjenestebindinger og integrasjoner
- Cron Triggers og tidsstyrte Workers