Oracle Cloud Infrastructureドキュメント

ファンクションの作成およびデプロイ

Fn Project CLIコマンドは、Oracle Functionsを作成およびデプロイする場合に使用します。

ヒント

このトピックのいずれかのステップを正常に完了できない場合は、一般的な問題に対する解決策を確認してください(「Oracle Functionsのトラブルシューティング」を参照)。

Fn Project CLIコマンドの使用方法

Fn Project CLIコマンドを使用してファンクションをOracle Functionsに作成およびデプロイするには:

  1. 「Oracle Functionsの準備」で説明されているように、Oracle Functionsを使用するための前提条件ステップが完了していることを確認します。 具体的には、次のようになります:

  2. ファンクションを追加するアプリケーションがOracle Functionsにまだ存在しない場合は、Fn Project CLIまたはコンソールを使用して作成します。 たとえば、acmeappという新規アプリケーションを作成できます。 「アプリケーションの作成」を参照してください。

  3. ファンクション開発者として開発環境にログインします。

  4. ターミナル・ウィンドウで、ディレクトリをファンクション・コードを含むディレクトリに変更します。

  5. 次を入力してファンクションを初期化します:

     $ fn init --runtime <runtime-language> <function-name>

    説明:

    • <runtime-language>はサポートされているランタイム言語の1つです(現在、java、ノード、およびpythonがサポートされています)
    • <function-name>は、ファンクション名として使用する名前です。 ファンクション名を指定しない場合は、現在のディレクトリの名前(小文字)が使用されます。 機密情報を入力しないでください。

    例えば:

     $ fn init --runtime java acme-func

    指定したファンクション名を使用してディレクトリが作成されます。次のものが含まれます:

    • ファンクションを作成および実行するために必要な最小限の情報を含む、func.yamlというファンクション定義ファイル。 func.yamlファイルに含めることができる追加パラメータについては、Fn Projectドキュメント」を参照してください。
    • ソース・ファイルとディレクトリが格納されている /srcディレクトリ。
    • ソース・ファイルからのファンクションのコンパイルに必要なプロジェクト・アーティファクトおよび依存関係を指定する、pom.xmlと呼ばれるMaven構成ファイル。

    fn initコマンドは、指定したランタイム言語によっては、helloworldアプリケーションのコードを含む /exampleディレクトリを作成します。 問題なく、 /exampleディレクトリを削除することをお薦めします。

  6. ディレクトリを、新たに作成されたディレクトリに変更します。
  7. 次の単一のFn Projectコマンドを入力して、ファンクションおよびその依存性をDockerイメージとして構築し、指定したDockerレジストリにイメージをプッシュし、ファンクションをOracle Functionsにデプロイします:

     $ fn -v deploy --app <app-name>

    <app-name>は、ファンクションの追加先のOracle Functionsのアプリケーション名です。 例えば:

     $ fn -v deploy --app acmeapp

    -vオプションでは、実行しているFn Projectコマンドの詳細が表示されるのみです(「Fn Project CLIをOracle Functionsとともに使用する方法」を参照)。

    単一のfn deployコマンドではなく、個別のFn Projectコマンドを使用してファンクションを構築、プッシュおよびデプロイできることに注意してください。

  8. (オプション)指定したDockerレジストリが「Oracle Cloud Infrastructureレジストリ」であると想定すると、コンソールを使用して、イメージが「Oracle Cloud Infrastructureレジストリ」に正常にプッシュされたことを確認します:
    1. コンソールで、「ナビゲーション・メニュー」を開きます。 ソリューションおよびプラットフォームの下で、開発者サービスに移動して「レジストリ」をクリックします。
    2. レジストリ・リージョンを選択します。

      レジストリにアクセスしているすべてのリポジトリが表示されます。 プッシュしたイメージは、次から構成した名前で新しいプライベート・リポジトリ内にあります:

      たとえば、新規リポジトリはacme-repo/acme-funcと呼ばれることがあります。

    3. 新規リポジトリの名前をクリックします。 「Oracle Cloud Infrastructureレジストリ」にプッシュされたイメージの詳細を表示
  9. (オプション)コンソールを使用して、ファンクションがOracle Functionsに正常にデプロイされたことを確認します:

    1. コンソールで、「ナビゲーション・メニュー」を開きます。 ソリューションおよびプラットフォームの下で、開発者サービスに移動して「ファンクション」をクリックします。
    2. Fn Project CLIコンテキストで指定されたコンパートメントを選択します(「6. Oracle Cloud Infrastructureに接続するFn Project CLIコンテキストの作成」を参照)。

      「アプリケーション」ページには、fn deployコマンドで指定したアプリケーションを含め、コンパートメント内のアプリケーションが表示されます。

    3. fn deployコマンドで指定したアプリケーションの名前をクリックして、その中のファンクションを表示します。

      「ファンクション」ページに、ファンクションがOracle Functionsにデプロイされたことが表示されます。