---
sourceDocument: Yokohama データと自動化
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/integrate-applications

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama データと自動化

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# データストリームアクションおよびページネーション

# データストリームアクションおよびページネーション {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：12分

REST、SOAP、または JDBC 要求を ワークフロースタジオ から API に送信します。この API は、10 MB を超える応答データのストリーム、またはページネーションされた結果を返します。ストリームデータを一連の複合オブジェクト出力に解析して、データピルをフローにある他のアクションで使用します。  
たとえば、サードパーティの人事サイトから大量の従業員データをインポートする データストリーム アクションを作成します。データストリーム アクションは、REST 要求をサードパーティのサイトに送信し、応答を処理してユーザー \[sys_user\] テーブルのレコードに入力します。  
注:  
データストリームアクションには 統合ハブ のサブスクリプションが必要です。詳細については、「[Legal schedules - 統合ハブ overview](https://www.servicenow.com/content/dam/servicenow-assets/public/en-us/doc-type/legal/snc-addendum-integrationhub.pdf)

## 福利厚生 {#data-stream-actions__section_d3h_2pm_tgb}

データストリーム アクションは以下の利点を提供します。  
* 10 MB を超える応答データのストリームを解析してフォーマットします。
* 該当する場合、結果をページネーションする API に複数の要求を自動的に送信します。
* [統合ハブ - インポート](https://servicenow-prod.fluidtopics.net/SgqMy8c6dTrG8VxH6JUY4g "ガイド付きの手順を追って操作できる統合インターフェイスを介してデータインポートタスクを自動化します。外部データソースを定義し、ターゲットテーブルを指定し、ソースデータがどのようにターゲットデータになるかをマッピングし、定期的なインポートをスケジュール設定します。")で、また[データソースを作成するために](https://servicenow-prod.fluidtopics.net/ULG~Ey7I~Hs7m3ncvqAq0Q "[データストリーム (統合ハブ)] タイプのデータソースレコードを作成して、インポートセットがデータストリームアクションからインポートする必要のある複雑なデータを定義します。")使用できます。
* フローデザイナーが、複雑なコーディングや構成を行うことなく、大規模な要求を処理できるようにします。
* フローデザイナーで次のことを実行できます： では、データストリーム内の各オブジェクトを For each フローロジックを使用して処理します。たとえば、サードパーティのサイトからドキュメントデータをインポートする データストリーム アクションを作成できます。アクションをフローに追加すると、ワークフロースタジオ ではアクションが For each フローロジックブロックに自動で追加されます。これにより、フローデザイナーが ServiceNow のレコードをデータストリームの各オブジェクトに対して簡単に作成できるようになります。「[フロー内での データストリーム アクションの使用](https://servicenow-prod.fluidtopics.net/mWCb6xn_EUJ~~h~z7BI_ZA "データストリーム アクションは、For Each フローロジックオプションを使用して、フロー内のストリームデータを処理します。たとえば、サードパーティのサイトからドキュメントデータをインポートする データストリーム アクションを使用するとします。フローに追加されたとき、アクションは For Each フローロジックブロックとして表示され、フローデザイナーがデータストリームの各オブジェクトに対して簡単に ServiceNow でレコードを作成できるようになります。")」を参照してください。
* フローデザイナーが、同じデータソースを複数の方法で使用して、複数のフローで データストリーム アクションを再利用できるようにします。
{#data-stream-actions__ul_k2p_2pm_tgb}

## データストリームアクションの実行 {#data-stream-actions__section_dq2_x13_z3b}

データストリーム アクションを実行するには、2 つの方法があります。  

フローから
:   ユーザーは次のことを実行できます： では、データストリーム内の各オブジェクトを For each フローロジックを使用して処理します。たとえば、サードパーティのサイトからドキュメントデータをインポートする データストリーム アクションを作成できます。アクションをフローに追加すると、ワークフロースタジオ ではアクションが For each フローロジックブロックに自動で追加されます。これにより、フローデザイナーが ServiceNow のレコードをデータストリームの各オブジェクトに対して簡単に作成できるようになります。「[フロー内での データストリーム アクションの使用](https://servicenow-prod.fluidtopics.net/mWCb6xn_EUJ~~h~z7BI_ZA "データストリーム アクションは、For Each フローロジックオプションを使用して、フロー内のストリームデータを処理します。たとえば、サードパーティのサイトからドキュメントデータをインポートする データストリーム アクションを使用するとします。フローに追加されたとき、アクションは For Each フローロジックブロックとして表示され、フローデザイナーがデータストリームの各オブジェクトに対して簡単に ServiceNow でレコードを作成できるようになります。")」を参照してください。

スクリプトから
:   FlowAPI クラスの executeDataStreamAction() メソッドを使用して データストリーム を開始できます。詳細については、「FlowAPI」を参照してください。

## アクションアウトライン {#data-stream-actions__section_wnp_sgg_5gb}

データストリーム アクションは設定された構造に従います。プロンプトに従って、アクションアウトラインのステップを追加および削除します。データストリーム アクションに手動でステップを追加することはできません。
図 : 1. REST および SOAP データストリームアクション 図 : 2. JDBC データストリームアクション  
注:  
設定ページのオプションを消去すると手順が データストリーム アウトラインから削除されて、関連付けられるすべてのデータが削除されます。

## アクションエラー評価 {#data-stream-actions__section_ewd_xdp_qdc}

エラー評価を使用してステップエラーをキャッチし、データストリームアクションに追加する各ステップのエラー動作を指定します。アクションがエラーステータスを返すタイミング、返されるステータスコード、およびメッセージを指定することにより、独自のエラー条件を作成することもできます。

## アクションの前処理 {#data-stream-actions__section_c3c_l1t_tgb}

アクション前処理カテゴリを使用して、接続と資格情報の詳細を取得したり、前処理スクリプトを実行したりします。

アクションで使用する接続と資格情報の詳細を取得するには、\[接続情報を取得 (Retrieve connection info)\] を選択します。このオプションを選択すると、アクション前処理の最初のステップとして「接続情報の取得」ステップが追加されます。詳細については、「」を参照してください。

アクションが最初の API 要求を送信する前の前処理スクリプトを実行するには、\[前処理スクリプトを有効化\] を選択します。たとえば、アクション入力を検証するかデフォルト値を設定します。 このオプションを選択すると、スクリプトステップが データストリーム アクションに追加されます。詳細については、「[Script step](https://www.servicenow.com/docs/access?context=javascript-step-action-designer&version=yokohama&pubname=yokohama-build-workflows&ft:locale=en-US)」を参照してください。

前処理は、最初の API 要求の前にアクションごとに 1 回実行されます。

これは、インスタンスまたは MID サーバー のいずれかで実行されるオプションの データストリーム アクションコンポーネントです。

## 要求 {#data-stream-actions__section_a32_m1t_tgb}

\[要求\] カテゴリを使用して、アクションが API 要求を送信する方法を設定します。\[要求\] セクションは、結果のページごとに 1 回実行されます。要求コンポーネントは、次の構成オプションを提供します。  

ページネーションセットアップステップ

:   次のことを要求します： 結果はバッチで表示されます。データの 1 つのページが処理されると データストリーム アクションによって要求セクションが再実行されて、次の一連の結果が返されます。。ページネーションセットアップステップを使用して、API に必要なページネーションオプションを設定します。ページネーションのセットアップ手順を手動で構成するか、ビルド済みのテンプレートを選択して一般的な構成を適用します。 たとえば、制限/オフセットテンプレートを適用して、ページごとに返されるアイテムの数 (制限) と最初のアイテムの開始番号 (オフセット) を指定します。テンプレートを適用後、値を更新して構成が API の要件に準拠していることを確認します。

    注:  
    ライセンスの目的では、各要求は、結果の次のページの各要求を含め、1 つのトランザクションとしてカウントされます。

    予約済みの読み取り専用 `getNextPage` 変数の値は、結果の別のページを要求するかどうかを決定します。 `getNextPage` 変数が true で前のページにデータが含まれている限り、アクションは次のページの要求を送信し続けます。  
    注:  
    スクリプトで値を明示的に true に設定する必要があります。そうしないと、デフォルトで false に設定されます。  
    これは、インスタンスのみで実行されるオプションのアクションコンポーネントです。  
    注:  
    ページネーションは JDBC ステップには適用されません。

スクリプトステップ

:   結果の次のページに対してすべての要求の前にスクリプトを実行します。このスクリプトは、ページネーションされた API を呼び出すときにデータの検証と変換に使用します。たとえば、次のページ要求の JSON ペイロードを生成します。 このオプションを選択すると、スクリプトステップが データストリーム アクションに追加されます。詳細については、「[Script step](https://www.servicenow.com/docs/access?context=javascript-step-action-designer&version=yokohama&pubname=yokohama-build-workflows&ft:locale=en-US)」を参照してください。

    これは、インスタンスまたは MID サーバー のいずれかで実行されるオプションの要求コンポーネントです。

REST または SOAP ステップ

:   REST または SOAP 要求をサードパーティ API に送信します。関連するステップを データストリーム アクションに追加するデータ形式を選択します。詳細については、「[REST ステップ](https://servicenow-prod.fluidtopics.net/DO~9WRk_BGCMoKtlu02XQA "送信 REST Web サービス要求を外部システムに送信します。")」と「[SOAP ステップ](https://servicenow-prod.fluidtopics.net/wnCYeWduTgoSw6SUDkbXsg "アクションデザイナーが外部システムへの送信 SOAP Web サービス要求を送信できるようにします。")」を参照してください。

    これは、インスタンスまたは MID サーバー のいずれかで実行される必須要求コンポーネントです。

JDBC ステップ

:   JDBC 要求をサードパーティ API に送信します。変換スクリプトを使用して、データをフォーマットし、関連するステップを データストリーム アクションに追加します。詳細については、「[JDBC ステップ](https://servicenow-prod.fluidtopics.net/3gn6eOsLaY5A1C1Vz1_32A "SQL コマンドをリレーショナルデータベースに送信するための再利用可能なアクションを作成します。")」と「[JDBC ステップのテスト](https://servicenow-prod.fluidtopics.net/d1XDK80YAvc7YBmur1JVtA "JDBC ステップを含むアクションをテストまたは公開する前に、JDBC ステップをテストしてください。")」を参照してください。すべてのデータが取得され、ページネーションは必要ありません。

    これは、MID サーバー で実行される必須要求コンポーネントです。

## REST および SOAP ステップでの解析 {#data-stream-actions__section_pkp_wws_tgb}

\[解析\] カテゴリを使用して、アクションでデータストリーム要素を複雑なデータオブジェクトに分離する方法を設定します。スプリッターステップを使用してアイテムを識別し、XML または JSON ストリームから分離し、スクリプトパーサーステップを使用して各アイテムを複雑なオブジェクトに変換します。\[解析中\] セクションは、ストリーム内のアイテムごとに 1 回実行されます。fd_data オブジェクトを使用して、データストリームアクションの前のステップの出力にアクセスできます。ただし、次のものは除きます。

* REST または SOAP ステップの応答本文、ストリーム、またはエラーメッセージの出力
* セパレーターステップ出力
{#data-stream-actions__ul_e3d_bdb_plb}

複合データの詳細については「複合データ」を参照してください。解析コンポーネントは、これらの構成オプションを提供します。  

スプリッターステップ

:   次のことを特定します：複合オブジェクトにマップする応答ストリームにある親ノード。たとえば、XML ペイロードのユーザー要素を識別して、応答ストリームのユーザーごとに複合オブジェクトを作成します。

    XML または JSON データストリーム内の繰り返しアイテムを識別して区切るためにスプリッタータイプを選択します。  
    * JSON：JSON データのストリームからのオブジェクトを識別します。JSONPath 式を使用して、繰り返しデータが含まれる JSON アレイを識別します。
    * XML：XML データのストリームからのオブジェクトを識別します。XPath 式を使用して、繰り返しデータが含まれる XML 要素を識別します。
    {#data-stream-actions__ul_egw_4p2_fhb}

    これは、インスタンスのみで実行される必須解析コンポーネントです。

スクリプトパーサーステップ

:   使用 - JavaScript と ServiceNow API。応答ストリームのアイテムを `targetObject` グローバルオブジェクトによって表される複合オブジェクト出力にマッピングします。たとえば、スプリッターステップで識別されたインシデントレコード要素を、インシデントフィールドを含む複合オブジェクトにマッピングします。データストリームに、複合オブジェクトへマッピングしないスプリッターステップで識別されたアイテムの兄弟アイテムが含まれる場合は、それらのアイテムを除外する条件を含めます。。必要に応じて、\[スクリプトパーサー\] ステップの \[スクリプト\] セクションに `outputs.state = 'SKIP'` を追加することで、ストリーム内のアイテムをスキップできます。

これは、インスタンスのみで実行される必須解析コンポーネントです。  
図 : 3. REST および SOAP データストリームアクション概要

## JDBC ステップの変換スクリプト {#data-stream-actions__section_sqs_rgj_h4b}

JDBC データストリームアクションはページネーションを必要としません。また、スプリッターステップとパーサーのステップは必要ありません。  
JDBC ステップでは、取得したレコードごとに複合オブジェクトを生成します。したがって、JDBC データストリームアクションのアクション前処理と変換スクリプトはオプションです。変換スクリプトを使用する場合、アクションデザイナーは変換スクリプトのテーブル列の内部名を指定する必要があります。図 : 4. JDBC データストリームアクションの概要

## SOAP ステップおよび REST ステップでのデータストリーム出力 {#data-stream-actions__section_j4k_rpz_c3b}

データストリーム アクションを設計するときは、オブジェクトタイプまたはダイナミックオブジェクトタイプの単一の出力を作成する必要があります。スクリプトパーサーステップは、 `targetObject` グローバルオブジェクトを使用して、ストリーム内のアイテムをこのオブジェクトにマップします。

実行時に、システムは データストリーム 構成に従って応答データのストリームを分割して解析します。ストリーム内の各アイテムは、スクリプトパーサーステップで定義された複雑なオブジェクト構造とオブジェクト出力にマップされ、結果として一連の複雑なオブジェクトが大量に生成されます。複合データの詳細については「複合データ」を参照してください。

## JDBC ステップでのデータストリーム出力 {#data-stream-actions__section_j23_glk_h4b}

JDBC ステップの出力は、複雑なオブジェクトストリームです。データ全体は、1 回の要求でのみ取得されます。  
注:  
* JDBC データストリームアクションを使用してデータを取得することはできますが、レコードを更新または削除することはできません。
* JDBC ステップで使用可能な \[最大行\] および \[最大ペイロードサイズ (KB)\] フィールドは、JDBC データストリームアクションでは使用できません。
{#data-stream-actions__ul_a3y_1mk_h4b}

## REST および SOAP ステップの実行の詳細 {#data-stream-actions__section_if2_rs2_1hb}

データストリーム アクションによって処理された各アイテムの構成と実行時の結果を表示します。レコード番号を選択すると、その構成と実行時の詳細が表示されます。デフォルトでは、実行の詳細には最新の 1000 アイテムの要求が含まれます。実行の詳細のアイテム数を変更するには、 com.snc.process_flow.reporting.datastream.item.lastn システムプロパティを更新します。

データストリームサマリー

:   次の情報を含む実行の概要を表示します。

    * \[ページ数\]：ページネーションされた API によって返されるページ数。
    * \[合計アイテム数\]：複合オブジェクト出力にマップされた応答ストリーム内のアイテムの数。
    * \[エラー数\]：発生したエラーの数。
    {#data-stream-actions__ul_wbb_scb_nhb}

ページの詳細

:   データストリーム アクション内の各ステップのランタイムデータを表示します。ページネーションされた API への各要求のランタイムの詳細を表示するページを選択します。デフォルトでは、\[実行の詳細\] には最後の 5 ページの要求が含まれます。実行の詳細の要求数を変更するには、 com.snc.process_flow.page.reporting.lastn システムプロパティを更新します。値を <kbd class="ph userinput">0</kbd> に設定すると \[実行の詳細\] からページが削除され、 <kbd class="ph userinput">-1</kbd> に設定するとすべてのページが含まれます。

    注:  
    すべてのページを含めるとパフォーマンスに影響する可能性があるため、お勧めしません。

## JDBC ステップでの実行の詳細 {#data-stream-actions__section_edv_3nk_h4b}

JDBC データストリームアクションでは、出力複合オブジェクトスキーマのビルドは必要ありません。クエリをテストし、クエリ結果を確認できます。詳細については、「[JDBC ステップのテスト](https://servicenow-prod.fluidtopics.net/d1XDK80YAvc7YBmur1JVtA "JDBC ステップを含むアクションをテストまたは公開する前に、JDBC ステップをテストしてください。")」を参照してください。要件に従ってデータを取得するように MID サーバー プロパティ mid.jdbc.datastream.max.record.size および mid.jdbc.datastream.fail.when.attachement.limit.exceeded を設定します。詳細については、「[MID サーバープロパティ](https://www.servicenow.com/docs/access?context=r_MIDServerProperties&version=yokohama&pubname=yokohama-servicenow-platform&ft:locale=en-US)」を参照してください。
* **[データストリーム アクションデザインの検討](https://servicenow-prod.fluidtopics.net/V4ZNzoG5UpIXLXfFwJ1soQ)**   
  エラーやパフォーマンスの問題を防ぐために、データストリーム アクションを作成するときやフローに データストリーム アクションを追加するときは、次の考慮事項に従ってください。
* **[データストリーム アクションの MID サーバー サポート](https://servicenow-prod.fluidtopics.net/n35KhQOGAAg8GPneZifQqA)**   
  データストリーム アクションを実行しているときに ServiceNow® MID サーバー を介してデータを取得します。
* **[データストリームアクションの作成](https://servicenow-prod.fluidtopics.net/6aG_Yn69ftdbTuKsl9nGTA)**   
  フロー内の応答データのストリームを処理する再利用可能なアクションを作成します。
* **[データストリーム アクションのテスト](https://servicenow-prod.fluidtopics.net/hTaTltgWyE75ybec~8TheA)**   
  データストリーム アクションをテストして、フローに追加する前に想定どおりに動作することを確認してください。
* **[フロー内での データストリーム アクションの使用](https://servicenow-prod.fluidtopics.net/mWCb6xn_EUJ~~h~z7BI_ZA)**   
  データストリーム アクションは、For Each フローロジックオプションを使用して、フロー内のストリームデータを処理します。たとえば、サードパーティのサイトからドキュメントデータをインポートする データストリーム アクションを使用するとします。フローに追加されたとき、アクションは For Each フローロジックブロックとして表示され、フローデザイナーがデータストリームの各オブジェクトに対して簡単に ServiceNow でレコードを作成できるようになります。

