Oracle Cloud Infrastructureドキュメント

3. oci-curlのコピーの作成および構成

Oracleが提供するベース・スクリプト(一般的にoci-curlと呼ばれる)を使用してファンクションを起動できます。 oci-curlスクリプトでは、スクリプト本文に指定した資格証明に基づいて、署名付きのリクエストが作成されます。 oci-curlの詳細は、「シグネチャのリクエスト - Bash」を参照してください。

oci-curlを使用してファンクションを起動するには、同じテナンシ内のリソースへのアクセス権が付与され、ファンクションと同じコンパートメントに属するOracle Cloud Infrastructureユーザーの資格証明を指定する必要があります(「ネットワークおよびファンクション関連リソースへのアクセスを制御するポリシーの作成」を参照)。

通常は、開発環境用に構成したファンクション開発者としてファンクションを起動します。 次の手順では、このケースを想定しています。

このトピックのステップでは、「2. Oracle Cloud Infrastructure CLI構成ファイルでプロファイルを作成」ですでにステップを完了していることを前提としています。

oci-curlのコピーを作成および構成するには:

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

  2. 次のように入力して、開発環境でoci-curlスクリプト・ファイルのコピーを作成し、資格証明をファイルに追加します:

    1. ブラウザでhttps://docs.cloud.oracle.com/iaas/Content/Resources/Assets/signing_sample_bash.txtに移動すると、oci-curlコードがRAWテキストとして表示されます。

    2. すべてのテキストを選択してコピーします。

    3. テキスト・エディタで、新しいファイルを有効なロケーションに開きます。 たとえば、ターミナル・ウィンドウでは、次のように入力してホーム・ディレクトリに新しいサブディレクトリを作成し、そのディレクトリに新しいファイルを開きます:

      $ cd ~
      
      $ mkdir oci-curl
      
      $ vim ~/oci-curl/oci-curl.sh

      新しいファイルの名前とロケーションは最大ですが、次の手順では~/oci-curl/oci-curl.shを想定しています。

    4. 前の手順でコピーしたoci-curlスクリプトのコードを新しいファイルに貼り付けます。

    5. 資格証明を追加できるように、ファイルを保存しますが、開いたままにしておきます。
  3. oci-curl.shファイルのサンプル資格証明を、ファンクションを起動するユーザー・アカウントの資格証明に置き換えます:
    1. サンプルの資格証明値を含むoci-curl.shファイルで、次の行を検索します:

      # TODO: update these values to your own
      local tenancyId="ocid1.tenancy.oc1..aaaaaaaab______dsq";
      local authUserId="ocid1.user.oc1..aaaaaaaas______o3r";
      local keyFingerprint="20:3b:97:13:55:1c:5b:0d:d3:37:d8:50:4e:c5:3a:34";
      local privateKeyPath="/Users/someuser/.oci/oci_api_key.pem";

      ヒント

      通常は、開発環境用に構成したファンクション開発者としてファンクションを起動します。
      その場合は、~/.oci/configファイルを開き、そこから簡単に値をコピーして、oci-curl.shファイルのサンプル値を置き換えます。

    2. oci-curl.shファイルのtenancyIdパラメータの値を変更するには、引用符でサンプル値を、ファンクションがデプロイされているテナンシのOCIDに置き換えます。 例えば:

      local tenancyID="ocid1.tenancy.oc1..aaaaaaaap______keq";
    3. 引用符内のサンプル値を、ファンクションを実行するユーザー・アカウントのOCIDに置き換えることで、oci-curl.shファイルのauthUserIDパラメータの値を変更します。 ユーザー・アカウントは、同じテナンシのリソースにアクセスでき、ファンクションと同じコンパートメントに属する必要があります。 例えば:

      local authUserId="ocid1.user.oc1..aaaaaaaas______7ap";
    4. 見積りのサンプル値を、Oracle Cloud Infrastructureにアップロードされたユーザー公開キーのフィンガープリントに置き換えて、oci-curl.shファイルのkeyFingerprintパラメータの値を変更します。 例えば:

      local keyFingerprint="d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:";
    5. oci-curl.shファイル内のprivateKeyPathパラメータの値を変更するには、引用符でサンプル値を、フィンガープリントを提供した公開キーとペアになった秘密キー・ファイルへのフルパスに置き換えます。 例えば:

      local privateKeyPath="/Users/johndoe/.oci/john_api_key_private.pem";
  4. oci-curl.shファイルを保存して閉じます。

ノート

Oracle Functionsにファンクションをデプロイしていて、そのファンクションを呼び出したい場合は、まずsourceコマンドを実行して、oci-curlの現在のシェル環境を設定する必要があります。
「ファンクションの呼出し」も参照してください。

このトピックのステップを完了したら、「4. Oracle Functionsで使用するDockerをインストール」に移動します。