私は月の第1日を除いて1日に1回実行したいいくつかのAzureデータ工場パイプラインを持っています。紺碧のデータ工場のパイプラインのカスタマイズスケジュール
例としては、2016年12月1日ですが、パイプラインを実行しないことをお勧めします。
パイプラインスケジュールを変更するだけでこれが可能ですか?これを達成するための他の選択肢は何ですか?
私は月の第1日を除いて1日に1回実行したいいくつかのAzureデータ工場パイプラインを持っています。紺碧のデータ工場のパイプラインのカスタマイズスケジュール
例としては、2016年12月1日ですが、パイプラインを実行しないことをお勧めします。
パイプラインスケジュールを変更するだけでこれが可能ですか?これを達成するための他の選択肢は何ですか?
これは可能ですが、実行したくないタイムスライスを手動で無効にするためにPowerShellを分解する必要があります。
データセットを作成して、1年間の日単位のスケジュールなどでアクティビティをプロビジョニングします。 PowerShellコマンドレットSet-AzureRmDataFactorySliceStatusを使用して、実行したくない年の12日間のタイムスライスステータスを上書きします。 -Statusパラメータの値がの場合は、コマンドレットを使用して実行されないようにするには、をスキップします。例えば
:次に
Set-AzureRmDataFactorySliceStatus `
-ResourceGroupName $ResourceGroup `
-DataFactoryName $ADFName.DataFactoryName `
-DatasetName "YourDataset" `
-StartDateTime 2016-12-01 `
-EndDateTime 2016-12-02 `
-Status "Skipped" `
-UpdateType "Individual"
異なる開始日と終了日でこれを返します。
これは完全ではなく、パイプラインの展開後に行う必要があります。しかし、それは必要な行動を提供するでしょう。ここ
もっとADFのPowerShell情報:https://docs.microsoft.com/en-us/powershell/module/azurerm.datafactories/set-azurermdatafactoryslicestatus?view=azurermps-4.0.0
は、この情報がお役に立てば幸いです。
今のところ最適な解決策は、起動するたびに日付をチェックし、完了したばかりの月の1日目であれば、Executeメソッドからnullを返すカスタムパイプラインを作成することですパイプライン。 COMMENT AFTER
EDIT:
public IDictionary<string, string> Execute(IEnumerable<LinkedService> linkedServices, IEnumerable<Dataset> datasets, Activity activity, IActivityLogger logger)
{
if (DateTime.UtcNow.Day == MonthDay.One)
{
return null;
}
/* YOUR PROCESSING DATA CODE */
...
return null;
}
この方法では、パイプラインは月の最初にその仕事を終えるだろうが、あなたのデータのいずれかの処理を行うことはありません...ここにあなたが持っている
これは、問題を解決するための貴重なヒントかもしれませんが、良い答えでも解決策が示されます。あなたが意味することを示すサンプルコードを提供するために[編集]してください。代わりに、これをコメントとして書くことを検討してください。 –