Edge Functions入門
サーバーレス関数の概念と、Deno上に構築されたSupabase Edge Functionsがバックエンド機能を強化する仕組みを理解します。
「Edge Functions入門」はCoddyKit上の無料Supabase Backend as a Serviceレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSupabase Backend as a Service学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Supabase Backend as a Serviceコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Say Hello to Serverless!
Welcome to Supabase Edge Functions! Before we dive in, let's understand serverless functions. Traditionally, you'd manage servers to run your backend code.
With serverless, you write code, and a cloud provider handles all the server management for you. You just focus on your logic!
Why Go Serverless?
Serverless functions offer some powerful advantages:
- Automatic Scaling: They scale up or down instantly with demand.
- Pay-per-use: You only pay for the compute time your functions actually run.
- Reduced Ops: No servers to provision, patch, or maintain.
- Faster Development: Focus purely on writing your application logic.
Supabase's Serverless Power
Supabase offers its own brand of serverless functions called Edge Functions. They extend your Supabase project's capabilities without needing to set up a separate server.
Think of them as tiny pieces of backend logic that run on demand, close to your users.
Powered by Deno
Supabase Edge Functions are built on Deno, a secure runtime for JavaScript and TypeScript. Deno is a modern alternative to Node.js.
This means you can write your functions in TypeScript right out of the box, enjoying type safety and modern JavaScript features without complex setup.
How Edge Functions Work
Edge Functions are event-driven. They only execute when triggered by an event, like an HTTP request from your application or a webhook.
They are also stateless, meaning each execution is independent. This design helps them scale efficiently.
What Can They Do?
Edge Functions are incredibly versatile! Here are some common use cases:
- Custom API Endpoints: Build your own API routes.
- Webhook Handlers: Process events from other services.
- Data Transformations: Modify data before or after database operations.
- Backend Logic: Run complex calculations or integrate with external APIs.
A Simple 'Hello' Function
Let's look at a basic Edge Function. This Deno code defines a function that responds to an HTTP request, expecting a name in its body.
Try running it to see the simple JSON response!
Deno.serve(async (req) => {
const { name } = await req.json();
return new Response(
JSON.stringify({ message: `Hello, ${name || 'World'}!` }),
{
headers: { 'Content-Type': 'application/json' },
status: 200,
},
);
});The Power of the 'Edge'
The 'Edge' in Edge Functions means they run geographically close to your users. This significantly reduces latency, making your applications feel faster and more responsive.
Supabase handles deploying your functions to a global network of servers for optimal performance.
Invoking Your Function
Once deployed, you can easily call your Edge Functions from your client-side application using the Supabase client library. Here's a JavaScript example for our 'hello-world' function:
import { createClient } from '@supabase/supabase-js';
// Replace with your actual Supabase project URL and Anon Key
const supabaseUrl = 'https://your-project-ref.supabase.co';
const supabaseAnonKey = 'YOUR_ANON_KEY';
const supabase = createClient(supabaseUrl, supabaseAnonKey);
async function callHelloFunction() {
const { data, error } = await supabase.functions.invoke('hello-world', {
body: { name: 'CoddyKit User' },
});
if (error) {
console.error('Error invoking function:', error);
} else {
console.log('Function response:', data);
}
}
callHelloFunction();Edge Function Essentials
Let's check your understanding of Supabase Edge Functions!
Recap: Edge Functions Intro
Great job! You've learned the basics of serverless computing and Supabase Edge Functions.
- Edge Functions are Supabase's serverless offering.
- They run on the Deno runtime, supporting TypeScript.
- They offer automatic scaling, pay-per-use, and reduced ops.
- They execute on demand, close to your users.
Next, we'll learn how to deploy your first function!
よくある質問
「Edge Functions入門」レッスンは無料ですか?
はい。「Edge Functions入門」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Supabase Backend as a Serviceコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Supabase Backend as a Serviceコースには全4レッスンが含まれています。
「Edge Functions入門」で何を学びますか?
サーバーレス関数の概念と、Deno上に構築されたSupabase Edge Functionsがバックエンド機能を強化する仕組みを理解します。 ブラウザで直接実行するハンズオンコードでSupabase Backend as a Serviceを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Supabase Backend as a Serviceを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSupabase Backend as a Serviceは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Edge Functions入門」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSupabase Backend as a Serviceレッスンでコードを書いて実行できますか?
はい。すべてのSupabase Backend as a Serviceレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Edge Functions入門
- 最初のFunctionをデプロイする
- Functionsとアプリの統合
- シークレット、環境変数、スケジュール実行関数