ファンクションの更新

OCI Functionsサーバーの既存のファンクションを更新する方法を確認します。

前提条件および詳細は、ファンクションの更新を参照してください。

    1. ファンクション開発者としてコンソールにサインインします。
    2. ナビゲーション・メニューを開き、「開発者サービス」をクリックします「ファンクション」で、「アプリケーション」をクリックします。
    3. OCI Functionsで使用しているリージョンを選択します。

      Fn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョンを使用することをお薦めします。 Oracle Cloud Infrastructureに接続するためのFnプロジェクトのCLIコンテキストの作成を参照してください。

    4. Fn ProjectのCLIコンテキストで指定されているコンパートメントを選択します。 Oracle Cloud Infrastructureに接続するためのFnプロジェクトのCLIコンテキストの作成を参照してください。

      「アプリケーション」ページには、コンパートメントに定義されているアプリケーションが表示されます。

    5. 更新する既存のファンクションを含んでいるアプリケーションの名前をクリックします。
    6. 更新するファンクションの名前をクリックします。
    7. 「編集」をクリックし、次のいずれかまたはすべてのプロパティを更新します:
      • リポジトリ:イメージを含む現在のリージョンのOCIコンテナ・レジストリのリポジトリ。
      • イメージ: 現在のリージョンのOCIコンテナ・レジストリ・リポジトリ内の既存のイメージ。ファンクションが元々ベースとしていたイメージと同じ名前およびタグがイメージにある場合は、イメージ・ダイジェストに関するノートを参照してください。
      • メモリー:関数の実行中に使用できるメモリーの最大数。
      • タイムアウト:ファンクションを実行できる最大時間。
      • プロビジョニングされた同時実行性の有効化:実行インフラストラクチャを常時使用可能にする同時ファンクション呼出しの最小数を指定することで、ファンクションの起動時の初期遅延を最小限に抑えることができます。

        このオプションを選択した場合は、「プロビジョニングされた同時実行ユニット(PCU)」の値を入力して、同時実行ファンクション呼出しの最小数を指定します。入力する実際のPCU値は10の倍数である必要があります。Memoryが256Mバイトに設定されている場合、PCUの値は20の倍数である必要があります。Memoryが128Mバイトに設定されている場合、PCUの値は40の倍数である必要があります。使用可能なPCUの合計数は、ファンクションのサイズ、テナンシ制限、およびテナンシ内の他の機能に対してプロビジョニングされた同時実行性が有効になっているかどうかによって異なります。プロビジョニングされた同時実行性の詳細は、「プロビジョニングされた同時実行性を使用した初期待機時間の短縮」を参照してください。

    8. 「変更の保存」をクリックして、OCI Functionsサーバー内のファンクションを更新します。

    ファンクションの更新されたプロパティがコンソールに表示されます。

  • Fn ProjectのCLIを使用する

    ヒント

    時々、Fn ProjectCLIの新しいバージョンがリリースされます。最新バージョンがインストールされていることを定期的に確認することをお勧めします。詳細は、Fn ProjectのCLIをアップグレードするステップを参照してください。

    Fn ProjectのCLIを使用してOCI Functionsサーバーの既存のファンクションを更新するには:

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

    2. ターミナル・ウィンドウで、次のように入力して既存のファンクションのプロパティを更新します:

      fn update function <app-name> <function-name> --image <image-name> --<property> <value>

      ここでは:

      • <app-name>は、既存のファンクションを含む既存のアプリケーションの名前です。
      • <function-name>は、更新する既存のファンクションの名前です。
      • --image <image-name> (オプション)は、前に指定したイメージではなく、現在のファンクションのベースとなるDockerレジストリの既存のイメージの名前です。ファンクションが元々ベースとしていたイメージと同じ名前およびタグがイメージにある場合は、イメージ・ダイジェストに関するノートを参照してください。
      • --<property> <value> (オプション)は更新するプロパティと、それに含める新しい値です。プロパティおよび有効な値のリストを表示するには、fn update function --helpと入力します。

      例:

      fn update function acmeapp acme-func --image phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.4 --timeout 60
      fn update function acmeapp acme-func --memory 256

      既存のファンクションのプロパティが、指定した値に更新されます。

    3. 次を入力して、ファンクションが更新されていることを確認します:

      fn inspect function <app-name> <function-name>

      例:

      fn inspect function acme-app acme-func

      出力:

      {
          "annotations": {
              "fnproject.io/fn/invokeEndpoint": "https://fht7ns4mn2q.us-phoenix-1.functions.oci.oraclecloud.com/20181201/functions/ocid1.fnfunc.oc1.phx.aaaa____uxoa/actions/invoke",							
              "oracle.com/oci/compartmentId": "ocid1.compartment.oc1..aaaaaaaaw______nyq"
          },
          "app_id": "ocid1.fnapp.oc1.phx.aaaaaaaaaf______r3ca",
          "created_at": "2018-07-26T12:50:53.000Z",
          "format": "default",
          "id": "ocid1.fnfunc.oc1.phx.aaaa____uxoa",
          "image": "phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.4",
          "memory": 256,
          "name": "acme-func",
          "timeout": 60,
          "updated_at": "2018-07-26T13:59:18.000Z"
      }

    OCI CLIの使用

    ファンクションを更新するには、oci fn function updateコマンドと必要なパラメータを使用します:

    oci fn function update --function-id <function-ocid> [OPTIONS]

    OCI CLIコマンドのフラグおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。

  • UpdateFunction API操作を実行してファンクションを更新します。