Получение сведений о ходе потери данных
Возвращает ход выполнения операции потери данных, запущенной с помощью API StartDataLoss.
Возвращает сведения о ходе выполнения операции с потерей данных, запущенной с помощью StartDataLoss, с использованием OperationId.
Запрос
Метод | Универсальный код ресурса (URI) запроса |
---|---|
GET | /Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress?api-version=6.0&OperationId={OperationId}&timeout={timeout} |
Параметры
Имя | Тип | Обязательно | Расположение |
---|---|---|---|
serviceId |
строка | Да | Путь |
partitionId |
строка (UUID) | Да | Путь |
api-version |
строка | Да | Запрос |
OperationId |
строка (UUID) | Да | Запрос |
timeout |
целое число (int64) | Нет | Запрос |
serviceId
Тип: строка
Обязательный: да
Идентификатор службы. Обычно он содержит полное имя службы из URI службы без указания схемы "fabric:".
Начиная с версии 6.0, иерархические имена разделяются знаком "~".
Например, если имя службы — "fabric:/myapp/app1/svc1", то в версии 6.0 и более поздних версиях идентификатором службы будет "myapp~app1~svc1", а в предыдущих версиях идентификатором был бы "myapp/app1/svc1".
partitionId
Тип: string (uuid)
Обязательный: да
Идентификатор секции.
api-version
Тип: строка
Обязательный: да
По умолчанию: 6.0
Версия API. Этот параметр является обязательным и его значение должно быть "6.0".
Версия REST API Service Fabric основана на версии среды выполнения, в которой api был представлен или изменен. Среда выполнения Service Fabric поддерживает несколько версий API. Это последняя поддерживаемая версия API. Если передается более ранжная версия API, возвращаемый ответ может отличаться от той, что описано в этой спецификации.
Кроме того, среда выполнения принимает любую версию, которая выше последней поддерживаемой версии, вплоть до текущей версии среды выполнения. Таким образом, если последняя версия API — 6.0, а среда выполнения — 6.1, чтобы упростить запись клиентов, среда выполнения примет версию 6.1 для этого API. Однако поведение API будет выполняться согласно описанной версии 6.0.
OperationId
Тип: string (uuid)
Обязательный: да
Идентификатор GUID, определяющий вызов этого API. Он передается в соответствующий API GetProgress.
timeout
Тип: integer (int64)
Обязательный: нет
По умолчанию: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Время ожидания сервера до выполнения операции в секундах. Время ожидания — промежуток времени, в течение которого клиент готов ждать выполнения запрошенной операции. Значение по умолчанию для этого параметра — 60 секунд.
Ответы
Код состояния HTTP | Описание | схеме ответа. |
---|---|---|
200 OK; | Сведения о ходе операции потери данных секционирования. |
PartitionDataLossProgress |
Все остальные коды состояния | Подробный ответ об ошибке. |
FabricError |
Примеры
Возвращает сведения об операции потери данных секционирования. В этом случае операция имеет состояние Завершено.
Здесь показан пример возможных выходных данных, когда GetDataLossProgress достиг состояния Завершено. Если параметр State имеет значение Выполняется, значение будет иметь только поле Состояние.
Запрос
GET http://localhost:19080/Faults/Services/fabric:/myapp/myservice/$/GetPartitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/GetDataLossProgress?api-version=6.0&OperationId=7216486c-1ee9-4b00-99b2-92b26fcb07f5
Ответ 200
Текст
{
"State": "Completed",
"InvokeDataLossResult": {
"ErrorCode": "0",
"SelectedPartition": {
"ServiceName": "fabric:/myapp/myservice",
"PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
}
}
}
Получение сведений об операции потери данных секционирования. В этом случае операция является состоянием выполнения.
Здесь показан пример выходных данных, когда операция потери данных находится в состоянии выполнения. Если параметр State имеет значение Выполняется, значение будет иметь только поле Состояние.
Запрос
GET http://localhost:19080/Faults/Services/fabric:/myapp/myservice/$/GetPartitions/1daae3f5-7fd6-42e9-b1ba-8c05f873994d/$/GetDataLossProgress?api-version=6.0&OperationId=7216486c-1ee9-4b00-99b2-92b26fcb07f5
Ответ 200
Текст
{
"State": "Running"
}