機械翻訳について

OCIファンクション・アクションとの統合からのOracle Cloud Infrastructureファンクションの直接呼出し

Oracle Integrationは、Oracle Cloud Infrastructure関数を呼び出すためのネイティブ・サポートを提供します。 このサポートにより、統合でOCIファンクション・アクションを使用してOracle Cloud Infrastructureファンクションを呼び出すことができます。

Oracle Cloud Infrastructure関数は、完全に管理されたマルチテナントでスケーラビリティの高いオンデマンドのFunctions-as-a-Serviceプラットフォームの一部です。 Oracle Cloud Infrastructure関数を使用して、ビジネス・ニーズを満たすコードの記述に重点を置きます。 「関数の概要」「ファンクションQuickStartガイド」を参照してください。

ノート:

クラウド・テナンシでアイデンティティ・ドメインが使用されていることを確認します。 統合キャンバスのOCIファンクション・アクションは、アイデンティティ・ドメインに対して有効になっていないクラウド・テナンシでは機能しません。

OCI Functionアクションのビデオ・デモをご覧になりたいですか?

機能

Oracle Cloud Infrastructure関数は、Oracle Integration内の関数をサーバーレスで実行して、次のようなOracle Integrationで簡単に実行できない複雑なロジックを処理します:
  • 特定のペイロードに対するキーに基づくデジタル・シグネチャの作成。
  • GZIPやTARなどのカスタムZIP形式のサポート。
  • 統合に参加できるデータ・フィールドのPDFファイルを取得して解析します。

Oracle Integrationは、Oracle Cloud Infrastructure関数を使用して作成したすべての関数をサポートします。 Oracle Cloud Infrastructureには、事前作成機能のカタログも用意されています。 「事前構築済み関数を使用した関数の作成」を参照してください。

前提条件

ノート:

リージョン間コール(ファンクションがOracle Integrationサービス・インスタンスとは異なるリージョンにある)を実行する場合は、次の操作を実行してください:
統合からファンクションを起動するには、Oracle Cloudコンソールから次の前提条件を実行する必要があります。 これらの前提条件を実行しないと、次のエラーが発生します:
An authentication issue was encountered when invoking Function. Please 
check if the prerequisites for calling OCI services have been properly setup for 
this service instance. OCI service integration requires dynamic groups and policies 
granting access to be created in OCI Console. Please consult the documentation for 
more information.
  1. クラウド・テナンシでアイデンティティ・ドメインが使用されていることを確認します。 統合からのOracle Cloud Infrastructureファンクションの起動は、アイデンティティ・ドメインに対して有効になっていないクラウド・テナンシでは機能しません。 不明な場合は、管理者に問い合せてください。
  2. 統合からOracle Cloud Infrastructureファンクションを呼び出す環境を設定します。 「クラウド・シェルでのファンクションQuickStart」を参照してください。 この項では、次を設定する方法について説明します:
    • テナンシを設定します:
      • グループおよびユーザーを作成します(まだ作成していない場合)。
      • ファンクションを作成するコンパートメントを作成します。 このコンパートメントは、統合キャンバスで「OCIファンクション」アクションを構成するときに指定します。
      • 仮想クラウド・ネットワーク(VCN)およびサブネットを作成します。 たとえば:


        「The Virtual Cloud Networks」ページが表示されます。 上部にはコンパートメント名があります。 次に、「VCNおよびアクションの作成」ボタンを示します。 次に、「名前」、「ステータス」、「IPv4 CIDRブロック」、「IPv6プレフィクス」、「デフォルト・ルート表」、「DNSドメイン名」および「作成済」の列を含む表を示します。

      • グループおよびサービスのポリシーを作成します。 このポリシーを使用すると、ファンクションを作成できます。 たとえば:


        左側のナビゲーション・ペインで「ポリシー」タブが選択されています。 上部には「ポリシー」というラベルがあります。 コンパートメント名が下に表示されます。 下にはポリシーの作成ボタンと削除ボタンがあります。 次に、「名前」、「説明」、「文」および「作成済」の列を含む表を示します。

    • 起動するファンクションを作成するアプリケーションを作成します。 このアプリケーションは、統合キャンバスで「OCIファンクション」アクションを構成するときに指定します。 たとえば:


      左側のナビゲーション・ペインで「アプリケーション」タブが選択されています。 上部には「Applications」というラベルがあります。 コンパートメント名が下に表示されます。 次に、「名前」、「ステータス」、「作成済」および「最終更新」の列を含む表を示します。

    • Cloud Shell開発環境を設定します。
    • ファンクションの作成、デプロイおよび呼出し たとえば:

      ノート:

      テナンシに独自の機能を作成する必要があります。 Oracle Cloud Infrastructureは、デフォルトではファンクションをデプロイまたは作成しません。 Oracle Cloud Infrastructureには、独自のインスタンスにデプロイできる事前構築済ファンクションが用意されています。


      「機能」ページが表示されます。 ページの上部には、「詳細」、「関数」、「構成」、「モニタリング」および「タグ」タブがあります。 この下には、検索フィールド、「既存のイメージから作成」リンクおよび「コード・エディタで作成」リンクがあります。 次に、名前、イメージ、イメージ・ダイジェスト、エンドポイントの起動、プロビジョニングされた同時実行性ユニットおよび最終更新列の列を含む表を示します。

  3. 動的グループを作成します。
    1. Oracle IntegrationインスタンスのOAuthアプリケーションのクライアントIDを取得します。
    2. ナビゲーション・ペインで、「アイデンティティ&セキュリティ」を選択します。
    3. 「アイデンティティ」の下で、「ドメイン」を選択します。
    4. 右上隅で「プロファイル」を選択し、アイデンティティ・ドメインをクリックします。
    5. メニュー・バーで、「Oracleクラウド・サービス」をクリックします。


      「アイデンティティとセキュリティ」ナビゲーション・ペインの「ドメイン」タブが選択されています。 メニュー・バーには、詳細、ユーザー管理、管理者、動的グループ、ディレクトリ統合、統合アプリケーションおよびOracleクラウド・サービスのリンクが表示されます。

      ドメインのOracle Cloud Servicesページが表示されます。

    6. 「名前」列で、サービス・インスタンスをクリックします。
    7. 「OAuth構成」をクリックします。
    8. 「一般情報」セクションまでスクロール・ダウンし、動的グループの作成に使用するクライアントID値をコピーします。
  4. 上部にあるブレッドクラムまでスクロールし、「Oracleクラウド・サービス」をクリックしてアイデンティティ・ドメインのメイン・ページに戻ります。


    背面矢印とOracleクラウド・サービスのラベルが表示されます。

  5. メニュー・バーで、「動的グループ」をクリックします。


    左側のナビゲーション・ペインで「ドメイン」タブが選択されています。 メニュー・バーには、詳細、ユーザー管理、管理者および動的グループのリンクが表示されます。

  6. 「動的グループの作成」をクリックします。
  7. 次の詳細を入力します。
    1. 「名前」および「説明」フィールドに値を入力します。 次のフィールドは必須です
    2. 「一致ルール」セクションで、必要なルールを入力します。 指定するリソースIDは、Oracle IntegrationインスタンスのOAuthアプリケーションのクライアントIDと一致する必要があります。 必ず値を一重引用符で囲んでください。 たとえば:
      resource.id = 'client_ID'


      「動的グループの作成」ページが表示されます。 この下には「照合ルール」セクションがあり、次に定義した「ルールに一致」および次に定義したすべてのルールに一致するテキストおよびラジオ・ボタンの例が示されています。 この下には、ルール・ビルダー・リンクがあります。 ルール1セクションには、resource.idパラメータと値が表示されます。

  8. 左側のナビゲーション・ペインで、「ポリシー」をクリックして動的グループにポリシーを割り当て、統合からOracle Cloud Infrastructureファンクションを起動できるようにします。
  9. 「Create Policy」をクリックします。
  10. 次の詳細を入力します。
    1. 「名前」および「説明」フィールドに値を入力します。 次のフィールドは必須です
    2. 「ポリシー・ビルダー」セクションで、「手動エディタの表示」をクリックして、動的グループに必要なポリシーを構築します。 次の例では、動的グループが関数ファミリ全体を使用できるようにしていますが、必要に応じてより詳細なポリシーを設定できます。 「ファンクションを呼び出して管理するためのアクセスの制御」「OCIファンクション・ユーザーにファンクション関連リソースへのアクセス権を付与するポリシー・ステートメント」を参照してください。
      Allow dynamic-group group_name to use functions-family in compartment compartment_name
      説明:
      • group_name: 作成した動的グループ名です。
      • compartment_name: 呼び出すファンクションがホストされるコンパートメントです。

      ノート:

      デフォルト・ドメインでポリシーを作成しない場合は、グループ名の前にドメイン名を指定します。 たとえば:
      Allow dynamic-group identity_domain/group_name to use functions-family in compartment compartment_name

      これにより、動的グループに関連付けられたOracle Integrationインスタンスが、統合の「OCIファンクション」アクションを使用してOracle Cloud Infrastructure関数を起動できるようになります。

Oracle Cloud Infrastructure関数の呼出し

この項では、アプリケーションで使用可能なOracle Cloud Infrastructureファンクションを呼び出すように統合キャンバスで「OCIファンクション」アクションを構成する方法の概要を示します。

  1. 次のいずれかの方法で、統合に「OCIファンクション」アクションを追加します:
    • キャンバスの横にある「アクション」 統合アクション・アイコンをクリックし、「OCIファンクション」アクションを適切なロケーションにドラッグします。
    • パラレル・アクションを追加するロケーションの「追加」アイコンをクリックし、「OCIファンクション」を選択します。

    ノート:

    クラウド・テナンシがアイデンティティ・ドメインを使用していない場合は、エラー・メッセージが表示され、ページは空白になります。

    OCIファンクション・ウィザードが表示されます。

  2. 「基本情報」ページで、起動するファンクションを識別するための次の情報を入力し、>をクリックします。 フィールドに詳細を入力すると、ページがリフレッシュされ、さらにフィールドが表示されます。
    要素 説明
    リージョン ファンクションがデプロイされるリージョンを選択します。
    コンパートメント 呼び出すファンクションがホストされるコンパートメントを選択します。
    アプリケーション アプリケーションを選択します。 Oracle Cloud Infrastructure関数は、アプリケーションと呼ばれるセットに編成されます。 アプリケーションには複数の関数を含めることができます。
    関数 起動するOracle Cloud Infrastructure関数を選択します。 アプリケーションによって起動する権利のある関数が選択のために表示されます。


    「基本情報」ページには、ウィザード・トレーニングが上部に表示されます: 基本情報、リクエスト、レスポンスおよびサマリー。 トレーニングの左右には、<および>リンクがそれぞれあります。 次に、リージョン、コンパートメント、アプリケーションおよびファンクションのリストを示します。

  3. リクエスト・ページで、ペイロード・タイプを選択してコンテンツを指定し、>をクリックします。
    • JSONサンプル: ファイルをドラッグ・アンド・ドロップまたは選択するか、ペイロードを手動で入力します。
    • XMLスキーマ: ファイルをドラッグ・アンド・ドロップするか選択します。
    • XMLサンプル(単一またはNameSpaceなし): ファイルをドラッグ・アンド・ドロップするか選択します。
    • バイナリ:
      • ファイルの場合は、「バイナリ」を選択してコンテンツをマップするだけです。
      • プレーン/テキスト・リクエスト/レスポンス・ペイロードの場合は、「バイナリ」を選択し、次のエンコーディングを実行します:
        • テキストを入力として指定するには、まずテキストをBase64としてエンコードしてから、そのBase64をストリーム参照にデコードする必要があります。
          decodeBase64ToReference(encodeBase64(Name))
        • テキスト出力を受信するには、出力ストリーム参照をBase64にエンコードしてから、そのBase64をテキストにデコードする必要があります。
          decodeBase64(encodeReferenceToBase64(Stream Reference))
  4. レスポンス・ページで、レスポンス・ペイロード・タイプを選択してコンテンツを指定し、>をクリックします。 使用可能なレスポンス・ペイロード・タイプは、リクエスト・ペイロード・タイプと同じです。
  5. サマリー・ページで選択内容を確認します。 この例では、hello-python-json関数が呼び出されます。 リクエストおよびレスポンス・メディアはJSON形式です。


    「基本情報」ページには、ウィザード・トレーニングが上部に表示されます: 基本情報、リクエスト、レスポンスおよびサマリー。 トレーニングの左右には、<および>リンクがそれぞれあります。 コンパートメント名、アプリケーション名、ファンクション名、リクエスト・メディア・タイプ、レスポンス・メディア・タイプおよび呼出しエンドポイントURLの値は、次のとおりです。

  6. 「完了」をクリックします。

実行時のOCIファンクション・アクションのエンドポイントURL設定のオーバーライド

実行時に使用する呼出しエンドポイントURLをマッパーで指定できます。 この設定は、設計時にOCIファンクション・アクションで指定された呼出しエンドポイントURLをオーバーライドします。

次のステップでは、この機能の構成の概要について説明します。

  1. OCIファンクション・アクションを構成します。 サマリー・ページの「エンドポイントURLの起動」フィールドに、指定したURLが表示されます。


    「サマリー」ページには、「説明」、「コンパートメント名」、「アプリケーション名」、「ファンクション名」、「リクエスト・メディア・タイプ」、「レスポンス・メディア・タイプ」および「エンドポイントURLの起動」フィールドが表示されます。

  2. マッパーを開いて編集します。


    統合には、トリガー、マップ、OICファンクションおよびマップ・アクションが表示されます。 最初のマップ・アクションが選択され、編集、インポート、削除および切取りのオプションが表示されます。

  3. ターゲットの「関数の上書き」要素を展開します。
  4. 「関数URI」を右クリックし、「ターゲット・ノードの作成」を選択します。
  5. 式ビルダーでエンドポイントURLを入力します。 この値は、「エンドポイントURLの起動」フィールドのOCIファンクション・アクションで構成された値をオーバーライドします。


    マッパーの「ソース」、「マッピング」キャンバスおよび「ターゲット」セクションが表示されます。 式ビルダーで指定した値を表示するために、ターゲットの関数URI要素が選択されています。

  6. 統合設計を完了し、統合をアクティブ化して実行します。
  7. アクティビティ・ストリームでマッパーを表示し、マッパーで指定された関数URLが使用されたことを確認します。


    マッパーのアクティビティ・ストリームが展開され、functionOverride要素が表示されます。 表示される値は、マッパーで指定された値です。

  8. アクティビティ・ストリームのOCI関数アクションのinvoke接続を展開し、マッパーで指定された関数URLも使用されたことに注意してください。


    OCI関数アクションのアクティビティ・ストリームが展開され、functionOverride要素が表示されます。 表示される値は、マッパーで指定された値です。