機械翻訳について

接続プロパティおよびサンプル・コード

アダプタ定義ドキュメントのconnectionセクションで、アダプタがアプリケーションに接続する方法を指定します。

connectionPropertiesセクションのプロパティ

connectionPropertiesでは、単一の接続プロパティの動作を定義します。 次の点に留意してください。

  • connectionProperties内のプロパティの各コレクションは、単一の接続プロパティに関連しています。

    統合開発者が接続を構成すると、接続プロパティはOracle Integrationのフィールドとして表示されます。 たとえば、displayNameプロパティはユーザー・インタフェースに表示されるプロパティ名、shortDescriptionプロパティは簡単なヒント・テキストなどを定義します。

    プロパティのコレクションは、接続プロパティの動作をモデル化します。

  • Oracle Integrationの接続プロパティが呼出し接続、トリガー接続またはその両方に表示されるかどうかを指定できます。

  • 次のプロパティの多くは、メタデータを定義します。 ただし、機能性特性に特に注意してください: requiredhidden、およびscope

connectionPropertiesには、次のプロパティが含まれます。

プロパティ 説明

name

接続プロパティの一意の名前。 値にはスペースを含めないでください。

この値は、Oracle Integrationユーザー・インタフェースには表示されません。 ただし、この値を使用して、アダプタ定義ドキュメント内からプロパティを参照します。

displayName

接続プロパティの名前を示します。 この値は、統合開発者がアダプタを使用して接続を作成するときに、Oracle Integrationユーザー・インタフェースでプロパティの名前として表示されます。

「接続プロパティの名前または説明の更新」を参照してください。

shortDescription

接続プロパティの短いヒント・テキスト。 このテキストは、Oracle Integrationユーザー・インタフェースに表示されます。

description

プロパティの説明。 この説明は、更新または変更するプロパティを選択すると、Oracle Integrationユーザー・インタフェースに表示されます。

type

プロパティのデータ型。 次のデータ型がサポートされています:

  • STRING
  • NUMBER
  • URL
  • PASSWORD
  • TEXT
  • CHOICE
  • BOOLEAN

required

アダプタにプロパティの値が必要かどうかを示すtrueまたはfalse trueの場合、プロパティにはOracle Integrationユーザー・インタフェースにアスタリスクがあり、統合開発者は値を指定する必要があります。

アダプタでは、プロパティの値が必要であり、値が常に同じである場合があります。 このような場合は、requiredおよびhiddentrueに設定し、defaultプロパティを使用して値を指定することを検討してください。 「接続プロパティの非表示」を参照してください。

hidden

trueまたはfalseのいずれかで、プロパティが統合開発者に非表示であるかどうかを示します。

プロパティが非表示であることを示すtrueを指定する場合は、defaultプロパティを使用してデフォルト値を指定する必要があります。 たとえば、releaseVersionパラメータを非表示に設定し、そのデフォルト値を1Aに指定できます。 「接続プロパティの非表示」を参照してください。

tokenized

trueまたはfalse。プロパティの値が格納されるロケーションを示します:

  • trueの場合、値はデータベースに格納され、その値への参照は統合とともに保存されます。 統合開発者が統合をエクスポートして別の環境にインポートした場合、その値はインポートに含まれません。 開発者は、ターゲット環境で接続を構成するときに、プロパティの新しい値を指定する必要があります。
  • falseの場合、値は統合の一部として保存されます。 統合開発者が統合をエクスポートして別の環境にインポートした場合、統合は開発者が指定した固定値で引き続き機能します。

default

プロパティのデフォルト値。 この値は、Oracle Integrationユーザー・インタフェースのプロパティ・フィールドに表示されます。

scope

接続プロパティが適用される接続のタイプ:

  • TRIGGER: 接続プロパティは、統合開発者がトリガー接続を構成する場合にのみ表示されます。これにより、統合フローが外部アプリケーションに安全に表示されます。

  • ACTION: 接続プロパティは、統合開発者が外部アプリケーションに安全に接続して呼び出す呼出し接続を構成する場合にのみ表示されます。

たとえば、10個の接続プロパティ、トリガー接続に5個、呼出し接続に5個を構成できます。

options

ドロップダウン・リストに事前定義済の値リストを指定します。 統合開発者は、Oracle Integrationで接続を作成するときに値から選択できます。

optionsプロパティの下に、次のプロパティの1つ以上のセットを追加します:

  • keyName: 値の内部名。
  • displayName: 値のユーザー向けの名前。 この値は、統合開発者が接続プロパティのドロップダウン・リストに表示されます。

「ドロップダウン・リストを使用した接続プロパティの作成」を参照してください。

securityPoliciesセクションのプロパティ

securityPoliciesで、接続定義に対して1つ以上のセキュリティ・ポリシーを定義します。 セキュリティ・ポリシーは、接続が保護されたエンドポイントおよびOracle Integrationにアクセスする方法を定義します。

PostmanコレクションまたはOpenAPIドキュメントをアダプタ定義ドキュメントに変換すると、Rapid Adapter BuilderによってAPIに関するセキュリティ・ポリシー情報が収集され、securityPoliciesセクションに入力されます。 必要に応じて、セキュリティ・ポリシーの詳細を更新できます。

Rapid Adapter Builderでは、いくつかの拡張可能なポリシーなど、多数の管理対象セキュリティ・ポリシーがサポートされています。 管理対象セキュリティ・ポリシーのプロパティを追加および変更できません。 ただし、セキュリティ・ポリシー・プロパティの非表示やデフォルト値の指定、管理対象セキュリティ・ポリシーの表示名と説明の変更など、多数の更新を行うことができます。 「接続定義のセキュリティ・ポリシーの理解」を参照してください。

各接続定義で1つ以上のセキュリティ・ポリシーを定義できます。 各セキュリティ・ポリシーには、1つ以上のセキュリティ・プロパティを含めることができます。 securityPropertiesセクションのエントリごとに、次のプロパティ・セットを定義する必要があります。 これらのプロパティは、接続の構成時に統合開発者が対話するフィールドの動作を記述します。

securityPoliciesには、次のプロパティが含まれます。

プロパティ 説明

type

セキュリティ・ポリシーの使用:

  • managed: セキュリティ・ポリシーは、Rapid Adapter Builderにネイティブに実装される認証および認可スキームです。 また、このスキームは、次のタイプの接続のいずれかを制御する管理対象セキュリティ・ポリシーです:

    • 接続をトリガーします。これにより、統合フローが外部アプリケーションに安全に表示されます。

    • 外部アプリケーションに安全に接続して呼び出す接続を起動します。

  • composite: セキュリティ・ポリシーは、管理対象セキュリティ・ポリシーの拡張であり、2つのポリシーを1つにまとめます。 コンポジット・ポリシーは、アウトバウンド(起動)コールを行う必要のあるインバウンド(トリガー)接続を管理します。

  • selfManaged: 将来の使用のために予約されています。

description

セキュリティ・ポリシーの説明。

displayName

セキュリティ・ポリシーの名前。 この値は、統合開発者がアダプタを使用して接続を作成するときに、Oracle Integrationユーザー・インタフェースでセキュリティ・ポリシーの名前として表示されます。

scope

セキュリティ・ポリシーのロール:

  • TRIGGER: セキュリティ・ポリシーは、トリガー操作に使用されます。
  • ACTION: セキュリティ・ポリシーは、起動操作に使用されます。

ノート:

接続プロパティとセキュリティ・ポリシーの両方にスコープを指定します。 たとえば、起動接続には4つの接続プロパティを定義し、トリガー接続には6つの接続プロパティを定義できます。 同様に、起動接続には2つのセキュリティ・ポリシーを定義し、トリガー接続には1つのセキュリティ・ポリシーを定義できます。

policy

保護されたエンドポイントへのアクセスに使用されるセキュリティ・ポリシーの名前。 アダプタは、次のポリシーの1つ以上を公開できます:

policyInbound

typeプロパティがcompositeの場合は、policyInboundが必要です。

policyInboundは複合オブジェクトであり、次のプロパティが必要です:

  • type: 次のいずれかの値です:

    • managed: インバウンド・セキュリティ・ポリシーは、事前定義済の管理対象セキュリティ・ポリシーです。

    • nonManaged: 将来の使用のために予約されています。

  • policy: policy行を参照してください。

  • securityProperties: securityProperties行を参照してください。

policyOutbound

typeプロパティがcompositeの場合は、policyOutboundが必要です。

policyOutboundは複合オブジェクトであり、次のプロパティが必要です:

  • type: 次のいずれかの値です:

    • managed: アウトバウンド・セキュリティ・ポリシーは、事前定義済の管理対象セキュリティ・ポリシーです。

    • nonManaged: 将来の使用のために予約されています。

  • policy: policy行を参照してください。

  • securityProperties: securityProperties行を参照してください。

securityProperties

各セキュリティ・ポリシーのプロパティ。 ほとんどのセキュリティ・ポリシーには、これらのプロパティのセットがいくつか必要です。

定義した各プロパティは、接続セキュリティを構成するためにページに表示されます。 統合開発者は、各プロパティに適切な値を指定する必要があります。

  • name: セキュリティ・ポリシー・プロパティの参照に使用される名前。

  • displayName: 接続ページに表示されるセキュリティ・ポリシー・プロパティの名前。

    「セキュリティ・プロパティの表示名または説明の変更」を参照してください

  • shortDescription: セキュリティ・プロパティの短いヒント・テキスト。
  • description: セキュリティ・プロパティの説明。

    「セキュリティ・プロパティの表示名または説明の変更」を参照してください

  • type: プロパティのデータ型。 次のデータ型がサポートされています:
    • STRING
    • NUMBER
    • URL
    • PASSWORD
    • TEXT
    • CHOICE
    • BOOLEAN
  • required: 必須プロパティであるかどうかを指定します。 trueに設定すると、接続ページでプロパティが必須としてマークされ、統合開発者が値を指定する必要があります。
  • hidden: プロパティを非表示にします。 trueに設定すると、プロパティが接続ページに表示されません。 プロパティを非表示にしているデフォルト値を指定する必要があります。

    「セキュリティ・プロパティの非表示」を参照してください。

これらの各プロパティ・セキュリティ・ポリシーの事前定義済の値を確認するには、該当するリンクを参照してください:

authExtension

これらのポリシーのデフォルト実装は、RFC 6749互換です。 ただし、実際には、多くの実装はRFCガイドラインとは異なります。 authExtensionプロパティを使用して、セキュリティ・ポリシーのOAuthフローのステップを拡張できます。

必要に応じて、次のOAuthポリシーを拡張できます:

サンプル・コード: 接続定義の定義

次のコード・サンプルは、OAuth認可コード資格証明認証メカニズムを使用して、Squareアプリケーションの接続定義を定義します。

このサンプルには、1つのconnectionPropertiesセクション、1つのsecurityPoliciesセクションおよび複数のsecurityPropertiesセクションが含まれています。

"connection": {
  "connectionProperties": [
    {
      "name": "baseURL",
      "type": "URL",
      "displayName": "Base URL",
      "description": "Base URL of the endpoints",
      "shortDescription": "Base URL of the endpoints",
      "default": "https://connect.squareupsandbox.com/v2",
      "required": true,
      "hidden": true,
      "scope": [
        "ACTION"
      ]
    }
  ],
  "securityPolicies": [
    {
      "type": "managed",
      "policy": "OAUTH_AUTHORIZATION_CODE_CREDENTIALS",
      "description": "Authorization Policy",
      "displayName": "Authorization Policy",
      "scope": "ACTION",
      "securityProperties": [
        {
          "name": "oauth.client.id",
          "displayName": "Square Application ID",
          "description": "Square Application ID",
          "shortDescription": "Square Application ID",
          "hidden": false,
          "required": true
        },
        {
          "name": "oauth.client.secret",
          "displayName": "Square Application Secret",
          "description": "Square Application Secret",
          "shortDescription": "Square Application Secret",
          "hidden": false,
          "required": true
        },
        {
          "name": "oauth.auth.code.uri",
          "default": "https://connect.squareupsandbox.com/oauth2/authorize",
          "hidden": true,
          "required": true
        },
        {
          "name": "oauth.access.token.uri",
          "default": "https://connect.squareupsandbox.com/oauth2/token",
          "hidden": true,
          "required": true
        },
        {
          "name": "oauth.scope",
          "default": "CUSTOMERS_WRITE ORDERS_WRITE INVOICES_WRITE CUSTOMERS_READ",
          "hidden": true,
          "required": true
        },
        {
          "name": "clientAuthentication",
          "default": "client_credentials_in_body",
          "hidden": true,
          "required": true
        }
      ],
      "authExtension": "flow:authExtension"
    }
  ],
  "test": "flow:testConnectionFlow"
}

サンプル・コード: 接続プロパティの定義

次のサンプル・コードは、2つの接続プロパティを定義する方法を示しています。 サンプルの最初の部分は編集可能なプロパティの定義を示し、2番目の部分は非表示プロパティの定義を示しています。

"connectionProperties": [
  {
    "name": "accountid",
    "type": "string",
    "displayName": "Account ID",
    "shortDescription": "Enter the account id.",
    "required": false,
    "hidden": false,
      "scope": [
        "ACTION"
      ]
  },
   {
    "name": "baseURL",
    "type": "URL",
    "displayName": "Base URL",
    "shortDescription": "Ensure that this value corresponds to the type selected.",
    "required": false,
    "hidden": true,
    "default": "https://connect.abcxyz.com/v2",
    "scope": "ACTION"
  }
]

サンプル・コード: 接続定義内のセキュリティ・ポリシーの定義

次のサンプル・コードは、セキュリティ・ポリシーの定義方法を示しています。 この場合、接続は2つの管理対象セキュリティ・ポリシーをサポートし、それぞれに表示可能なセキュリティ・プロパティと非表示のセキュリティ・プロパティの組合せを持ちます。

"connection": {
    "connectionProperties": [
    ],
    "securityPolicies": [
      {
        "type": "managed",
        "policy": "OAUTH_AUTHORIZATION_CODE_CREDENTIALS",
        "description": "ABC Company Authorization Code Policy",
        "displayName": "ABC Company Authorization Code Policy",
        "scope": "ACTION",
        "securityProperties": [
          {
            "name": "oauth.client.id",
            "displayName": "ABC Company Client ID",
            "description": "ABC Company Client ID",
            "shortDescription": "ABC Company Client ID",
            "hidden": false,
            "required": true
          },
          {
            "name": "oauth.client.secret",
            "displayName": "ABC Company Client Secret",
            "description": "ABC Company Client secret",
            "shortDescription": "ABC Company Client secret",
            "hidden": false,
            "required": true
          },
          {
            "name": "oauth.auth.code.uri",
            "default": "https://login.ABC Companyonline.com/common/oauth2/v2.0/authorize",
            "hidden": true,
            "required": true
          },
          {
            "name": "oauth.access.token.uri",
            "default": "https://login.ABC Companyonline.com/common/oauth2/v2.0/token",
            "hidden": true,
            "required": true
          },
          {
            "name": "oauth.scope",
            "default": "Tasks.ReadWrite offline_access",
            "hidden": true,
            "required": true
          },
          {
            "name": "clientAuthentication",
            "default": "client_credentials_as_header",
            "hidden": true,
            "required": true
          }
        ]
      },
      {
        "type": "managed",
        "policy": "OAUTH_RESOURCE_OWNER_PASSWORD_CREDENTIALS",
        "description": "ABC Company Resource Owner Password Credentials Policy",
        "displayName": "ABC Company Resource Owner Password Credentials Policy",
        "scope": "ACTION",
        "securityProperties": [
          {
            "name": "oauth.access.token.uri",
            "default": "https://login.ABC Companyonline.com/4a4a30f3-247a-47b6-acef-55ba707ea6df/oauth2/v2.0/token",
            "hidden": false,
            "required": true
          },
          {
            "name": "oauth.client.id",
            "displayName": "ABC Company Client ID",
            "description": "ABC Company Client ID",
            "shortDescription": "ABC Company Client ID",
            "hidden": false,
            "required": true
          },
          {
            "name": "oauth.client.secret",
            "displayName": "ABC Company Client Secret",
            "description": "ABC Company Client secret",
            "shortDescription": "ABC Company Client secret",
            "hidden": false,
            "required": true
          },
          {
            "name": "username",
            "displayName": "User Name",
            "description": "User Name",
            "shortDescription": "User Name",
            "hidden": false,
            "required": true
          },
          {
            "name": "password",
            "displayName": "Password",
            "description": "Password",
            "shortDescription": "Password",
            "hidden": false,
            "required": true
          },
          {
            "name": "oauth.scope",
            "default": "Tasks.ReadWrite offline_access",
            "hidden": true,
            "required": true
          },
          {
            "name": "oauth.request.content.type",
            "default": "application/x-www-form-urlencoded",
            "hidden": true,
            "required": true
          },
          {
            "name": "clientAuthentication",
            "default": "client_credentials_as_header",
            "hidden": true,
            "required": true
          }
        ]
      }
    ],
    "test": "flow:testConnectionFlow"
  },