3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft FabricからSalesforce連携でSTORAGE_LIMIT_EXCEEDEDエラーが出たときの対策方法-Salesforceのストレージ不足が原因-

3
Posted at

はじめに

今回は、Microsoft Fabric のパイプラインで Salesforce のオブジェクトへデータ連携を行う際に発生する 「STORAGE_LIMIT_EXCEEDED」 エラーについて、原因を整理します。
結論から言うと、このエラーは Salesforce 側のストレージ不足 が原因で、解決には Salesforce 側の容量を増やす(追加する) 対応が必要になります。

FabricからSalesforceへのパイプラインの設定画面

今回は、Fabric のレイクハウスに格納したテーブルを Salesforce に連携するため、パイプラインの コピー アクティビティ を使用します。
書き込み方式は Insert / Upsert を選べますが、本記事では Insert を選択しています。なお、Salesforce 側のストレージが不足している場合は Insert / Upsert どちらでも同様にエラーになります。

▽パイプラインのソース設定画面
image.png

▽パイプラインのシンク設定画面
image.png

▽パイプラインのマップ設定画面
image.png

実行結果

パイプラインは失敗し、「STORAGE_LIMIT_EXCEEDED」エラーを返しています。
image.png

エラーメッセージ詳細

Failure happened on 'destination' side. ErrorCode=SalesforceBulkAPIIncompatibleRowException,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Some incompatible rows are found and failed to write to destination. Please correct this incompatible rows and retry. If you want to ignore incomatible rows, please set enableSkipIncompatibleRow as true. Error rows message:

パイプラインの実行詳細を見てみると、読み取られた行(1万行)の一部がSalesforceに書き込まれている(3000行)ことが分かります。
image.png

Salesforceの開発者コンソールからシンクのオブジェクトにクエリしてみるとデータが挿入(3000行)されていることが確認されました。
image.png

原因・解決策

Fabric から Salesforce へデータを挿入する際、内部的には Salesforce Bulk API を用いた一括処理として実行されます。
このとき Salesforce 側のデータ/ファイルストレージの空き容量が不足していると、Salesforce は受信したレコードを受け付けられず、「STORAGE_LIMIT_EXCEEDED」 を返します。
なお、Bulk API は“全件が一括でロールバックされる”とは限らず、一部レコードは成功しつつ、残りが失敗する(部分成功) という状態になり得ます。
その結果、Salesforce 側に一部行が挿入されていても、Fabric 側のパイプライン実行は 失敗(エラー)扱い となります。

今回の私のSalesforce環境では Sandbox を利用しており、ストレージ容量が小さかったことが原因でこのエラーが発生しました。容量を空けることで解消しましたが、根本的には Salesforce 側のストレージを増やす(追加する) ことが解決策になります。

なお補足ですが、Salesforce のカスタムオブジェクトは削除しても即座に完全削除されるわけではなく、削除後しばらくは 「削除済みオブジェクト」 の一覧に残ります。
削除済みオブジェクトは 15日間 この一覧に保持され、その期間中は 復元 または 完全削除 が可能とされています。容量を早く確保したい場合は、必要に応じて 削除済みオブジェクトリスト側からも完全削除する必要がある点に注意してください。
image.png

Youtubeもやってます

▽こちらでCDataをつかったオープンミラーリングを解説しています。

FabricやDatabricksについて学べる勉強会を毎月開催しています!

次回イベント欄から直近のMicrosoft Data Analytics Day(Online) 勉強会ページ移動後、申し込み可能です!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?