Liaisons de services et intégrations
Connectez les Workers à d’autres services Cloudflare et à des API externes grâce aux liaisons de services.
Liaisons de services et intégrations est une leçon Edge Computing with Cloudflare Workers & Deno gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Edge Computing with Cloudflare Workers & Deno, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Edge Computing with Cloudflare Workers & Deno comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Intro to Service Bindings
Welcome to Service Bindings! In this lesson, you'll learn how Cloudflare Workers can communicate with each other and other Cloudflare services directly.
Think of Service Bindings as secure, internal connections that unlock powerful modularity for your edge applications.
Why Use Service Bindings?
Service Bindings offer several key advantages:
- Modularity: Break down complex Workers into smaller, reusable components.
- Performance: Direct internal communication is faster than public HTTP requests.
- Security: Keep internal API calls off the public internet.
- Abstraction: Treat other Workers or services like local modules.
Worker-to-Worker Communication
One of the most common uses for Service Bindings is allowing one Worker to invoke another. This is perfect for creating microservices at the edge.
You can call a 'target' Worker from an 'invoking' Worker, passing requests and receiving responses as if they were part of the same application.
Code: The Target Worker
First, let's create a simple 'target' Worker. This Worker will respond with a specific message when called.
Save this as 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' }
});
},
};Code: The Invoking Worker
Now, let's create an 'invoking' Worker that uses a binding to call our 'target' Worker. Notice how env.TARGET_WORKER.fetch(request) is used.
Save this as 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' }
});
},
};Configuring Worker Bindings
To connect the 'invoking' Worker to the 'target' Worker, you need to add a service_binding entry in the wrangler.toml file of your invoking Worker.
This tells Cloudflare which Worker project to connect to and what name (e.g., TARGET_WORKER) to use in your code.
# 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
Make sure both Workers are deployed to Cloudflare.
Bindings to Cloudflare Services
Service Bindings aren't limited to Workers! You can also bind your Worker directly to other Cloudflare services like KV Namespaces, R2 buckets, D1 databases, and Durable Objects.
This provides your Worker with direct, secure, and performant access to these resources via the env object.
Code: KV Namespace Binding
Here's how you'd configure a binding to a KV Namespace in your 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
Then, access it in your Worker's code:
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 Your Knowledge!
Choose the best answer.
Recap: Bindings & Integrations
You've learned about Cloudflare Worker Service Bindings!
- They provide a powerful way for Workers to communicate with other Workers or Cloudflare services directly.
- Benefits include modularity, performance, and security.
- You configure bindings in your
wrangler.tomlfile. - They enable complex architectures where Workers act as building blocks.
Keep exploring how these bindings can simplify your edge development!
Questions Fréquemment Posées
La leçon « Liaisons de services et intégrations » est-elle gratuite ?
Oui — le texte complet de « Liaisons de services et intégrations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Edge Computing with Cloudflare Workers & Deno, passe à CoddyKit PRO. Le cours Edge Computing with Cloudflare Workers & Deno comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Liaisons de services et intégrations » ?
Connectez les Workers à d’autres services Cloudflare et à des API externes grâce aux liaisons de services. Tu pratiques Edge Computing with Cloudflare Workers & Deno avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Edge Computing with Cloudflare Workers & Deno ?
Aucune expérience préalable n'est requise. Edge Computing with Cloudflare Workers & Deno sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Liaisons de services et intégrations » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Edge Computing with Cloudflare Workers & Deno ?
Oui. Chaque leçon Edge Computing with Cloudflare Workers & Deno inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- WebSockets et temps réel
- Files d’attente et tâches asynchrones
- Liaisons de services et intégrations
- Déclencheurs Cron et Workers planifiés