最終更新日:2024-09-03 15:10:10
このガイドでは、CDNetworksエッジクラウドアプリ関数コンピューティングプラットフォームでサーバーレス関数を作成する方法について説明します。
サーバーレスアーキテクチャでは、関数は特定のタスクまたはロジックを実行するように設計された自己完結型のコードブロックです。HTTPリクエスト、データベース操作、メッセージキュー、またはファイルのアップロードなどのイベントによってトリガーされます。サーバーレスプラットフォームは、さまざまなトラフィック要求を処理するために、これらの関数を自動的にスケーリングします。各関数の実行は独立していてステートレスです。つまり、以前の呼び出しからの状態は保持されません。永続的なデータストレージの場合は、データベースやオブジェクトストレージなどの外部サービスを使用する必要があります。
関数は、サーバーレスアーキテクチャの核となる構成要素です。開発者は関数コードを記述し、サーバーレスプラットフォームにデプロイします。サーバーレスプラットフォームは、関数の実行、スケーリング、およびリソース割り当てを処理します。このアプローチは、多くの場合、「サーバーレス関数」または「Function-as-a-Service」(FaaS)と呼ばれます。従来のサーバーアーキテクチャとは異なり、サーバーレスアーキテクチャを使用すると、開発者は基盤となるサーバーとインフラストラクチャを管理することなく、ビジネスロジックの記述に集中できます。
V8エンジン上に構築されたエッジクラウドアプリ関数コンピューティングは、ミリ秒レベルのコールドスタートとリソースの分離を備えた、軽量で高性能なサーバーレスランタイム環境を提供します。高同時実行シナリオでの関数コードの実行効率を大幅に向上させるために、ランタイムコンテキストの切り替えを最適化しました。V8テクノロジーの超低レイテンシーコールドスタート機能を活用することで、リクエストに応じて関数をすばやくロードし、互いに干渉することなく、さまざまな機能をすばやく切り替えることができます。
サーバーレス関数を作成する前に、CDNetworksプラットフォームで有効で構成されたCDNアクセラレーションドメインがあることを確認してください。
image-resizer
またはuser-auth
。テンプレートを使用する: プラットフォームは、さまざまな一般的な機能をカバーする、事前に構築された関数テンプレートを幅広く提供しています。これらのテンプレートを使用すると、最初からコードを記述することなく、新しい関数コンテンツをすばやく構築できます。ストリームM3u8の書き換え、Webリンクの書き換え、集約されたリクエストとレスポンスなどの機能の関数をすばやく作成できます。各テンプレートには、その使用方法を理解するのに役立つ詳細な手順が付属しています。関数を作成するためにテンプレートを選択すると、CloudIDEインターフェースに対応するサンプルコードが表示されます。テンプレートライブラリは継続的に更新および拡張されており、新しいテンプレートが開発中です。
テンプレートなし: よりカスタマイズされた関数を作成する必要がある場合、または最初から関数を作成する場合は、「テンプレートなし」で関数を作成することを選択できます。これにより、コードを自由に記述できる空白のCloudIDEインターフェースに移動します。
関数を作成すると、ページは自動的にCloudIDEインターフェースにリダイレクトされます。CloudIDE内では、コードを自由に記述、編集、デバッグできます。CloudIDEは、Visual Studio Codeと同様に、合理化されたコーディングエクスペリエンスのために、構文の強調表示、自動補完、エラープロンプトなどの機能を提供します。CloudIDEの詳細については、CloudIDEドキュメントを参照してください。
注意
各関数は、複雑な関数ロジックをより適切に整理および管理するために、複数のJavaScriptファイルを含むことができます。ただし、各関数には、エントリポイントとしてindex.js
ファイルを含める必要があります。関数がトリガーされると、プラットフォームはindex.js
ファイルからコードの実行を開始します。
CloudIDEでコードを記述した後、組み込みのテストツールを使用して関数をテストできます。
/example
パスをテストするには、http://dev.wsls.haplat.net:8123/cloudide/staging/test/xxxxxxxxxx/example
のようなアドレスを入力します。このURIに対応するリソースが実際に存在し、テストドメインで有効であることを確認してください。
関数の記述とテストが完了したら、本番環境にデプロイできます。エッジクラウドアプリプラットフォームは、安全で安定したデプロイプロセスを保証するために、グレースケールデプロイメントをサポートしています。関数デプロイメントの詳細については、関数デプロイメントのドキュメントを参照してください。