ファイルストリーミング
ファイルストリーミングは、大きなファイルを小さな部分に分割し、1つずつ転送してから、それらの部分を順番どおりに戻すことで処理する手法です。
たとえば、Workatoがファイルストリーミングを使用してシステム間でファイルを転送する場合、各部分はソースからダウンロードされ、順番に宛先へアップロードされます。
ファイルストリーミングは、ソースまたは宛先アプリのサイズやメモリの制限により、大きなファイルの処理が実用的でない場合や不可能な場合に役立ちます。 ファイルストリーミングでは、Workatoが小さなチャンクを1つずつ処理するため、各アプリの制約内に収めることができます。 これにより、Workatoはストリーミングをサポートするアプリ間で、任意のサイズのファイルを転送できます。 Workatoは、大容量ストレージとデータ変換のためのファイルストリーミングもサポートしています。
次の図は、ファイルストリーミングの仕組みを示しています。
ファイルストリーミングの仕組み
ユースケース
Workatoのファイルストリーミングは、次のようなユースケースで使用できます。
- アプリケーションにデータを一括送信
- 一括トリガーまたは一括アクションを使用してアプリケーションからデータを受信
- 大きなファイルをWorkato FileStorage、またはSFTPやS3などの他のファイルシステムに保存する
- SQL Transformationsとの間でデータを送受信する
たとえば、ファイルストリーミングでは次のことができます。
- オンブレミスファイルサーバーから100万行のリードデータを含むファイルを抽出し、Google BigQueryテーブルにロードする
- バッチアクションを使用して、HubSpotなどの非ストリーミングソースからWorkato FileStorageに100,000行を蓄積し、その後FileStorageからSalesforce bulk APIsへ行を一度にストリーミングする
- 一括トリガーを使用してMarketoから新規または更新された取引先責任者レコードを抽出し、SQL Transformationsで他のデータソースと集計する
バッチ処理との比較
バッチ処理とは、複数のジョブがそれぞれ複数のレコードを処理することです。 1つのジョブで処理できるレコード数は、バッチサイズによって決まります。 Workatoは、関連するすべてのレコードを処理するために必要な数のジョブを作成するため、非常に大きなファイルを処理できます。 ただし、バッチサイズとメモリの制限により、この方法では大量のAPIコールが発生する可能性があり、データ量が増えるにつれて十分にスケールしません。
これに対し、ファイルストリーミングでは、1つのジョブを使用して、関連するすべてのレコードをストリーミングAPIへの1回の呼び出しでチャンクごとに処理します。 これにより、ファイルが非常に大きい場合でも、APIコールが少なくなり、処理が速くなります。
バッチトリガーおよびアクションは通常、他のバッチアクションと組み合わせる必要があります。 同様に、ストリーミング対応のデータプロデューサー(ファイルダウンロード、一括トリガー、一括エクスポートアクションなど)は、ストリーミング対応のデータコンシューマー(ファイルアップロード、一括作成、一括アップサート、一括インポートアクションなど)と組み合わせる必要があります。
HTTPコネクターの例外
Send request via HTTPアクションは、このルールの例外です。 Wait for responseとEnable streamingをYesに設定すると、ファイルストリーミングをサポートしないアクションを含む、後続の任意のアクションにレスポンスをストリーミングできます。
可能な場合は、ファイルストリーミングをサポートするトリガーとアクションを使用して、次のことに役立てることをおすすめします。
- レシピ設計を簡素化
- タスク数を削減
- ソースと宛先の間で行われるAPIコール数を削減
ファイルストリーミングの使用方法
ソース(ファイルダウンロード、一括トリガー、一括アクションなど)または宛先(ファイルアップロードや一括アクションなど)のいずれかがファイルストリーミングをサポートしている場合、ファイルコンテンツまたはCSVコンテンツデータピルをファイルコンテンツ入力フィールドに渡すと、Workatoはファイルストリーミングを自動的に開始します。 レシピで追加の設定は必要ありません。
ファイルコンテンツデータピルをファイルコンテンツ入力フィールドに渡す
ストリーミング転送は、レシピがレシピ内のコンシューマーアクションステップに到達したときに開始されることに注意してください。 ファイルストリーミングアクションは通常、長時間または遅延アクションです。 そのため、転送にどれだけ時間がかかっても、ストリーミングアクションはタイムアウトしません。
ファイルストリーミングをサポートするトリガーとアクション
次の表に、ファイルストリーミングをサポートするトリガーとアクションを示します。
| コネクター名 | ファイルストリーミングをサポートするトリガーとアクション |
|---|---|
| Adobe Experience Manager |
|
| Amazon S3 |
|
| Anaplan |
|
| Azure Blob Storage |
|
| BIM360 |
|
| Box |
|
| Bynder |
|
| Dropbox |
|
| Egnyte |
|
| ファイルツール by Workato |
|
| Freshdesk |
|
| FTP/FTPS |
|
| HTTPコネクター |
|
| Google Cloud Storage |
|
| Google Drive |
|
| Jira |
|
| Marketo |
|
| Microsoft Dynamics 365 |
|
| Microsoft Sharepoint |
|
| NetSuite |
|
| OneDrive |
|
| On-prem |
|
| Outlook |
|
| Percolate |
|
| PlanGrid |
|
| Quickbase |
|
| Salesforce |
|
| ServiceNow |
|
| SFTP |
|
| SMB |
|
| Workato FileStorage |
|
| Workfront |
|
| Zoom |
|
カスタムコネクターの構築
ファイルストリーミングを使用するカスタムコネクターの構築方法については、Connector SDKファイルストリーミングガイドを参照してください。
ファイルストリーミングの動作を確認
ファイルストリーミングを使用してオンブレミスファイルシステムからAmazon S3へファイルを転送するサンプルレシピを表示します。
Last updated: