Functions: クラウド・シェルの使用の開始
このチュートリアルでは、Oracle Cloud Infrastructureアカウントを使用して、クラウド・シェルを使用したOracle Functions開発を設定します。次に、ファンクション・アプリケーションおよびファンクションを作成します。
主なタスクは:
- 認証トークンを設定します。
- 必要な情報を収集します。
- VCNを設定します。
- OCIレジストリ(OCIR)にログインします。
- ファンクションをデプロイするようにクラウド・シェルを構成します。
- Fnコンテキストを構成します。
- Oracleファンクション用のアプリケーションを作成します。
- ファンクションを作成します。
- ファンクションをデプロイします。
- ファンクションをテストします。

その他の情報については、次のWebサイトを参照してください。
開始する前に
このチュートリアルを正常に実行するには、次が必要です:
- 有料Oracle Cloud Infrastructureアカウント。Oracle Cloud Infrastructureへのサインアップを参照してください。
- Oracle Functions開発をサポートするように構成されたOCIアカウント。クラウド・シェルでのOracle Functionsのクイックスタートを参照してください。
- OCI Cloud Shell。お客様のアカウントに含まれており、次のものを備えています:
- OCI CLI
- Docker
- Python 3.6以上
- Java 1.8以上
- Node.js 10以上
1. 必要な情報の収集
チュートリアルを完了するために必要なすべての情報を収集します。
OCIコンソールから必要な情報を準備します。
- リージョンおよび可用性ドメインから、リージョン識別子およびリージョン・キーを見つけます。
例: アッシュバーンの場合は
us-ashburn-1
およびiad
。 - OCIレジストリ(OCIR)にファンクション・イメージを格納するレジストリ・プロジェクト名を作成します。
ファンクションを公開すると、OCIRにDockerイメージが作成されます。OCIRプロジェクト名は、検索しやすいように、ファンクション・イメージの先頭に付加されます。たとえば、次が指定された場合:
- レジストリ・プロジェクト名:
my-func-prj
- ファンクション名:
node-func
関数イメージは、OCIRの
my-func-prj/node-func
の下に格納されます - レジストリ・プロジェクト名:
コンパートメントを作成するには、コンパートメントの作成を参照してください。コンパートメントを作成したら、コンパートメントOCIDを保存します。
既存のコンパートメントからコンパートメントOCIDを取得するには:
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「コンパートメント」をクリックします。
- コンパートメントを選択します。
- OCIDフィールドの「コピー」リンクをクリックします。
OCIレジストリにログインするための認可トークンを作成します。認可トークンを作成するには:
チュートリアルを完了するために必要なすべての情報を収集します。次の情報をメモ帳にコピーします。
2. 仮想クラウド・ネットワーク(VCN)の作成
Linuxインスタンスをインターネットに接続するように、VCNを設定します。
仮想クラウド・ネットワークを構成するには、次のステップを実行します。
別のポートを開くには、最後のステップの80をポート番号に置き換えます。
3. OCIレジストリへのログイン
次に、DockerをOCIレジストリ(OCIR)にログインします。
- 以前に収集した情報を取得します。
- ターミナル・ウィンドウを開きます。
- OCIRにログインします:
docker login <region-key>.ocir.io
ログイン名とパスワードの入力を求められます。
- ユーザー名:
<tenancy-name>/<user-name>
- パスワード:
<auth-token>
- ユーザー名:
インスタンスがOCIRにログインしました。
4. Functionsの構成
Oracle Functionsを使用するには、Fnアプリケーション・コンテキストを構成する必要があります。コンテキストには、Oracle Functionsサービスへの接続に必要な値が格納されます。Fnクライアント・コマンドは、必要な構成データを追加するために使用されます。
以前に収集した情報が必要です。Fnクライアント・コマンドを使用してFnを構成します。
コンテキストの表示/編集
Fnコンテキスト・ファイルは、~/.fn/contexts
ディレクトリにあります。各コンテキストは、.yaml
ファイルに格納されます。たとえば、us-phoenix-1.yaml
ファイルは次のようになります:
api-url: https://functions.us-phoenix-1.oci.oraclecloud.com
oracle.compartment-id: ocid1.compartment.oc1..aaaaaaaarvdfa72n...
provider: oraclecs
registry: phx.ocir.io/my-tenancy/my-func-prj
必要に応じて、ファイルをエディタで直接編集できます。
各ステップの詳細な説明は、クラウド・シェルでのOracle Functionsのクイックスタートを参照してください
これで、インスタンスのFnコンテキストが設定されました。
5. ファンクションの作成およびデプロイ
構成が完了したら、ファンクションを作成してデプロイします。
アプリケーションは、ファンクションの主要なストレージ・コンテナです。各ファンクションには、デプロイメント用のアプリケーションが必要です。アプリケーションを作成するには、次のステップに従います。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「ファンクション」で、「アプリケーション」をクリックします。
- 「アプリケーションの作成」をクリックします。
フォーム・データを入力します。
- 名前: <your-app-name>
- VCN: <your-VCN>
- サブネット: <your-public-subnet>または<your-private-subnet>
ノート
パブリック・サブネットまたはプライベート・サブネットを使用できます。いずれかを選択してください。 - 「作成」をクリックします。
アプリケーションが作成されます。
言語の選択
次のいずれかの言語を選択して、ファンクションを作成してデプロイします。必要に応じて、3つすべてを実行できます。
アプリケーションを作成したら、Javaファンクションをデプロイします。次のステップに従って、Javaの「Hello World」ファンクションを作成します。
これらのステップを実行するには、Java 8以上がインストールされていることを確認してください。
Javaファンクションが正常にデプロイおよびテストされました。
アプリケーションを作成したら、Pythonファンクションをデプロイします。次のステップに従って、Pythonの「Hello World」ファンクションを作成します。
Pythonファンクションが正常にデプロイおよびテストされました。
アプリケーションを作成したら、ノード・ファンクションをデプロイします。次のステップに従って、ノードの「Hello World」ファンクションを作成します。
これらのステップを実行するには、Node.js 10以上がインストールされていることを確認してください。
ノード・ファンクションが正常にデプロイおよびテストされました。
6. ファンクション情報の確認
ファンクションを実行すると、ファンクションに関する情報がOCIコンソールに表示されます。
デプロイすると、ファンクションがアップロードされてOCIRに格納されます。OCIRに移動して、ファンクション・イメージを確認できます。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「Containers & Artifacts」で、「Container Registry」をクリックします。
<your-repository-project-name>
を検索します。- プロジェクト名の下に、デプロイした各ファンクションのエントリが表示されます。
- 情報を表示する各イメージのリンクをクリックします。
ファンクションを実行した後、そのファンクションのメトリックを表示できます。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「ファンクション」で、「アプリケーション」をクリックします。アプリケーションがページにリストされます。
- 作成したアプリケーションへのリンクをクリックします。
- 確認するファンクションへのリンクをクリックします。
ファンクションに関するメトリック情報が表示されます。
アプリケーションのロギングを有効にするには、次のステップに従います。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「ファンクション」で、「アプリケーション」をクリックします。アプリケーションがページにリストされます。
- 作成したアプリケーションへのリンクをクリックします。
- アプリケーション・ページの左側で、「ログ」リンクをクリックします。
- 「無効」をクリックして、アプリケーションのロギングを有効にします。
- 「ログの有効化」ダイアログが表示されます。次の情報を入力します:
- コンパートメント: <your-compartment-name>
- ログ・グループ:デフォルト値
Auto-Create a Default Log Group
を使用します - ログ名:
<take-default>
- ログ保持:
<take-default>
- 「ログの有効化」をクリックします
ログが作成されるまでしばらく待ちます。
ログを表示するには、前述のステップで作成したログ名のリンクをクリックします。
次の手順
ファンクションが正常に作成され、Oracle Functionsにデプロイされました。
Oracle製品を使用した開発の詳細を確認するには、次のサイトを参照してください: