Oracle Cloud Infrastructureドキュメント

6. Oracle Cloud Infrastructureに接続するFn Project CLIコンテキストの作成

Oracle Functionsを使用する前に、Oracle Cloud Infrastructureテナンシに接続するようにFn Project CLIを構成する必要があります。

Fn Project CLIが最初にインストールされると、ローカル開発のコンテキスト用に構成されます。 かわりに、Oracle Cloud Infrastructureテナンシに接続するようにFn Project CLIを構成するには、新しいコンテキストを作成する必要があります。 コンテキストでは、Oracle Functionsエンドポイント、デプロイ済ファンクションが属するコンパートメントのOCID、およびイメージをプッシュしたりプルするDockerレジストリのアドレスを指定します。

複数のコンテキストを定義できます。各コンテキストは、.yaml形式で異なるコンテキスト・ファイルに格納されます。 デフォルトでは、個々のコンテキスト・ファイルは~/.fn/contextsディレクトリに格納されます。 ~/.fn/config.yamlファイルは、Fn Projectが使用するコンテキスト・ファイルを指定します。

新しいコンテキストを作成するには、新しいコンテキスト・ファイルを手動で作成し、そのファイルを指すように ~/.fn/config.yamlファイルを手動で編集します。 または、次に説明するように、Fn Project CLIを使用して新しいコンテキスト・ファイルを対話形式で作成し、Fn Project CLIにそのファイルを使用して起動するよう指示することもできます。

このトピックのステップでは、「5. Fn Project CLIをインストール」ですでにステップを完了していることを前提としています。

Fn Project CLIを使用して新しいコンテキスト・ファイルを作成するには:

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

  2. ターミナル・ウィンドウで、次を入力してOracle Cloud Infrastructureの新しいFn Project CLIコンテキストを作成します:

    $ fn create context <my-context> --provider oracle

    <my-context>は、選択した名前です。 例えば:

    $ fn create context johns-oci-context --provider oracle
  3. 次を入力して、Fn Project CLIで新しいコンテキストを使用することを指定します:

    $ fn use context <my-context>

    ここで、<my-context>は前のステップで指定した名前です。 例えば:

    $ fn use context johns-oci-context
  4. デプロイ済ファンクションを所有するコンパートメントのOCIDを使用して新規コンテキストを構成します(この目的のために新規コンパートメントを作成してある場合は、「テナンシのネットワーク・リソースおよびOracle Functionsリソースに対するコンパートメントの作成(存在しない場合)」を参照してください):

    $ fn update context oracle.compartment-id <compartment-ocid>

    例えば:

    $ fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaaaarvdfa72n...
  5. 次を入力してAPIをコールする際に使用するapi-urlエンドポイントを使用して、新しいコンテキストを構成します:

    $ fn update context api-url <api-endpoint>

    説明:

    • <api-endpoint>は、https://functions.<region-name>.oraclecloud.comの形式です。

    • <api-endpoint><region-name>は、ファンクションを作成およびデプロイするOracle Cloud Infrastructureリージョンの名前です。 たとえば、us-phoenix-1です。 リージョン名のリストは、「リージョン名およびリージョン・コード別の可用性」を参照してください。

    例えば:

    $ fn update context api-url https://functions.us-phoenix-1.oraclecloud.com
  6. Oracle Functionsで使用するDockerレジストリのアドレスを指定して新しいコンテキストを構成するには、次のように入力します:

    $ fn update context registry <region-code>.ocir.io/<tenancy-namespace>/<repo-name>

    説明:

    • <region-code>は、「Oracle Cloud Infrastructureレジストリ」リージョンのコードです。 たとえば、フェニックス用のphxなどです。 リージョン・コードのリストは、「リージョン名およびリージョン・コード別の可用性」を参照してください。

      Oracleは、指定するDockerレジストリが、ファンクションを実行するサブネットと同じリージョンにあることをお薦めします。

    • <tenancy-namespace>は、リポジトリを作成する(「テナンシ情報」ページに表示される)テナンシの自動生成された「オブジェクト・ストレージ」ネームスペース文字列です。 たとえば、acme-devテナンシのネームスペースがansh81vru1zpであるとします。 一部の古いテナンシの場合、ネームスペース文字列がすべて小文字のテナンシ名(acme-devなど)と同じである可能性があります。

    • <repo-name>は、デプロイするファンクションの名前に接頭辞として付加されるリポジトリ名です。

    例えば:

    $ fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
  7. (オプション)コンテキスト・ファイルを表示して、作成したFn Project CLIコンテキストを確認します。 たとえば、次のように入力します:

    $ more ~/.fn/contexts/johns-oci-context.yaml
    
    api-url: https://functions.us-phoenix-1.oraclecloud.com
    provider: oracle
    registry: phx.ocir.io/ansh81vru1zp/acme-repo

このトピックのステップを完了したら、「7. oracle.profileパラメータを使用したFn Project CLIのコンテキストの設定」に移動します。