関数の作成
OCI Functionsでのファンクションの作成(イメージベースのファンクションやコード専用ファンクションなど)について説明します。
ファンクション・ソースの指定方法に応じて、様々な方法でOCI Functionsサーバーに新しいファンクション定義を作成できます:
- コンソール、CLIコマンドまたはAPI操作を使用して、すでにDockerレジストリにプッシュされた既存のDockerイメージに基づいて新しいイメージベース・ファンクションを作成します(このトピックで説明します)。
- コンソール、CLIコマンドまたはAPI操作を使用して、ファンクション・コードおよび依存関係を含むアーカイブからコード専用ファンクションを作成します(アーカイブからのファンクションの作成(コード専用ファンクション)を参照)。
- 単一のFn ProjectのCLIコマンド
fn deployを使用して、新しいDockerイメージを構築し、Dockerレジストリにそのイメージをプッシュして、1つのステップでイメージに基づいて新しい関数を作成します(Fn ProjectのCLIを使用したイメージベース・ファンクションの作成およびデプロイを参照)。 - コード・エディタの使用(「コード・エディタを使用したイメージベース関数の作成」を参照)。
- 事前構築済ファンクションの使用(事前構築済ファンクションを使用したファンクションの作成を参照)。
既存のDockerイメージからイメージベースのファンクションを作成する場合は、OCI Functionsサーバーに格納するファンクション・メタデータを指定します。たとえば、ファンクションの実行が許可されている最大時間です。
新しいイメージベース・ファンクションの基となる既存のイメージは、OCIファンクションでの使用に適している必要があります。通常は、適切なイメージを構築してプッシュするために、自分や他のユーザーがFn ProjectのCLIコマンドまたはDocker CLIコマンド(あるいはその両方)を使用します。たとえば、ファンクション・コードとファンクション・メタデータを含むfunc.yamlファイルを作成した場合(テンプレートhelloworldファンクションとfn initを使用して作成されたfunc.yamlに基づくと考えられる)、次のことが可能です:
fn buildを使用して、ファンクションから新しいDockerイメージを作成します。- Dockerレジストリにイメージをプッシュするには、
docker pushを使用します。
Dockerレジストリのイメージでは、このトピックで説明するように、コンソール、CLIコマンドまたはAPI操作を使用してイメージからイメージベースのファンクションを作成できます。
「既存のイメージからのイメージベースのファンクションの作成」を参照してください。