2017-11-06 2 views
1

と私はAPIののリストについては、APIの管理分析を照会して、機能統合を経由して表ストアのテーブルに出力AzureのPowerShellの機能を持っています。上書きAzureの機能表ストアの行出力

行がのPartitionKeyは、APIの名前と分析からである日付であるのrowKeyされた状態で、各APIのために作成されます。

これは、APIの解析が1日に複数回要求されるとエラーに繋がります。この時点で、機能 exectutionは500内部サーバーエラーのステータスで失敗し、私は次のエラーで提示しています -

関数が返された後、パラメータ_binderを処理中にエラーが発生しました: - >指定されたエンティティすでに存在する。

私は予定で機能を実行する予定ですが、ほとんどの場合この問題を回避するために、既存のエントリを上書きするという理想的なシナリオで、ソリューションを用意する方がよいでしょう。これは可能ですか?

$apiIds.GetEnumerator() | ForEach-Object { 
    $analytic = $_.Value | Get-ApiManagementAnalytics -Context $context -StartDate $startDate -EndDate $endDate -AccessToken 
    $tableRow = $analytic.value 
    $tableRow | Add-Member -NotePropertyName PartitionKey -NotePropertyValue $tableRow.name 
    $tableRow | Add-Member -NotePropertyName RowKey -NotePropertyValue ((Get-Date).ToString("yyyy-MM-dd")) 
    $tableRows += $tableRow 
} 
$tableRows | ConvertTo-Json | Out-File -Encoding UTF8 $outputTable 

答えて

2

私は何を探していることTableOperation.InsertOrReplace

エンティティ存在しない場合、これはテーブルに指定されたエンティティを挿入していると信じて。エンティティが存在する場合は、の内容が提供されたエンティティに置き換えられます。

+0

有効な解決策ですが、私はテーブルインテグレーションに自分で接続するのではなく、機能統合によってこれを行うことができます。ありがとう。 –

+0

申し訳ありませんが、もう少し精巧にお考えですか?あなたが達成したいことを正確に理解していない。 – M0rty

関連する問題