问题
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)
IngestionStatus
haveStatus.PartiallySucceeded
, whileIngestionFailureInfo
have no way to tell whether an ingest operation is partially succeeded or not.- Can
Status.PartiallySucceeded
occur when ingesting from stream ? How can I know if an ingest operation isPartiallySucceeded
usingIngestionFailureInfo
?
回答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