0
私はRest APIからJSONデータを取得するためのPowerShellスクリプトを作成しようとしています。このスクリプトはSQL Serverエージェントジョブとして実行され、収集されたすべてのデータをデータベースに挿入して最終データテーブルを挿入します。PowerShell並列APIデータ検索
Foreachループの並列オプションを検討し、ワークフローに追加しましたが、データテーブルにデータを書き込もうとするとブロックされるため、単なる単なるオブジェクトとは異なる扱いを受けるようです。
これはジョブで実行できるものですか?これを並行して実行する別の方法がありますか?すべてを再構築する必要はありますか?理想的には、他のモジュールをインストールすることなく、ネイティブのPowerShellコードで実行できます。
私のコードの基本的な構造今日は次のとおりです。
#Compose URL
#Create a New-Object system.Data.DataTable and configure it
#Make Invoke-RestMethod API call to get the collection of objects
Foreach($object in $Collection){
#Make API call for details about each object
#Add data to datatable
}
#Write datatable to database
なぜこれに対して並列処理が必要ですか? – Matt
Matt、現在のジョブは実行に約12時間かかります。データをテーブルオブジェクトに追加してから各オブジェクトの統計をカウントするように変更した場合、それぞれの-parallelに対して〜を使用することができます。実行には約20分かかります。 1日に1回、ヒットする必要がある最初のAPIですが、同じパターンを使用したいと思う他のソースもあります。 – Aaron