このarticleとthisによれば、CLRストアドプロシージャ、クエリ通知、拡張ストアドプロシージャはすべてAzure SQLでは利用できません。
私は、SQL Serverのトリガーを使用してBLOBを直接削除できないと思います。
片道: azure webjobでキュートリガを使用して、SQLレコードとBLOBファイルを削除できます。
WebアプリケーションのキューまたはAzureストレージエクスプローラを使用して、メッセージ(BLOBファイル名を含む)を追加できます。
次に、Webジョブで、このキューメッセージに従ってBLOBファイルとSQLレコードを削除するコードを記述することができます。あなたは記事下のを参照してください可能性が紺碧webjobにキュー・トリガーを使用する方法についての
詳細:https://docs.microsoft.com/en-us/azure/app-service-web/websites-dotnet-webjobs-sdk-storage-queues-how-to
別の方法:
スケジュール使用できるようにするには、特定のテーブルの上に変更の追跡を可能にすることができますwebjobはテーブルへの最新の変更(すなわち削除)を検出し、BLOB内のファイルを削除するレコードに従って検出します。クエリおよび記事下記を参照してください可能性があり
詳細:
1.Enable変更の追跡:
ALTER DATABASE yourdatabase
SET CHANGE_TRACKING = ON
(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)
ALTER TABLE YourBolbTable
ENABLE CHANGE_TRACKING
WITH (TRACK_COLUMNS_UPDATED = ON)
2.Select変更されたレコード:
SELECT
*
FROM CHANGETABLE(CHANGES YourBlobTable, 0) AS ChTbl;
結果:
注意:私はあなたにお勧めしますレコードを削除すると、チェンジトラッキングテーブルはプライマリキーを記録するだけなので、BLOB名をプライマリキーとして使用します。
変更追跡テーブルの使用方法の詳細は、this articleを参照してください。
次に、分単位でテーブルを変更するには、timertriggerまたはscheduled webJobを使用できます。
最後に、azure storage SDKを使用してwebjobのこのレコードに従ってBLOBを削除できます。
Azure関数を見ましたか? https://azure.microsoft.com/en-us/services/functions/ –
私はすでにApp Serviceを持っていますが、追加料金を支払う必要はありますか? 「タイマーベースの処理」機能が機能する可能性があります。 – juliernes