问题
I'm implementing retry for failed ingest operation on ADX, my question is in the title.
On the side note, I saw some differences between IngestionStatus (getting ingest status via table) and IngestionFailureInfo (getting ingest status via queue)
IngestionStatushaveStatus.PartiallySucceeded, whileIngestionFailureInfohave no way to tell whether an ingest operation is partially succeeded or not.- Can
Status.PartiallySucceededoccur when ingesting from stream ? How can I know if an ingest operation isPartiallySucceededusingIngestionFailureInfo?
回答1:
First note that the report to table and queue is done per blob and therefore there is no partial success for a single blob. If a report method of kind Table was used and the ingest is done from a DataReader the call to GetIngestionStatusBySourceId will aggregate the results of the DataReader ingest and therefore can get a PartiallySucceeded value. So for your question you can't get a PartiallySucceeded value when ingesting from a stream IngestionFailureInfo is configured only for failed operations.
In anyway IKustoIngestionResult methods are only relevant for checking a status in an Azure Table, for Queue report method see https://docs.microsoft.com/en-us/azure/kusto/api/netfx/kusto-ingest-client-reference#interface-ikustoqueuedingestclient
来源:https://stackoverflow.com/questions/58518725/when-ingestionfailureinfo-shouldretry-is-true