Поделиться через


Начальная потеря данных

Этот API вызовет потерю данных в указанной секции. Он активирует вызов API OnDataLossAsync секции.

Этот API вызовет потерю данных в указанной секции. Он активирует вызов API OnDataLoss секции. Потеря фактических данных будет зависеть от указанного DataLossMode.

  • PartialDataLoss. Только кворум реплик будет удален и OnDataLoss запустится для секции, но фактическая потеря данных зависит от наличия репликации на лету.
  • FullDataLoss. Все реплики удаляются, таким образом все данные будут потеряны и активируется OnDataLoss.

Этот API следует вызывать только со службой с отслеживанием состояния в качестве целевого объекта.

Вызов этого API с системной службой в качестве целевого объекта не рекомендуется.

Примечание. После вызова этого API его невозможно отменить. Вызов CancelOperation только остановит выполнение и очистит внутреннее состояния системы. Данные не восстановятся, если команда выполнялась достаточное время, чтобы вызвать потерю данных.

Вызовите API GetDataLossProgress с тем же OperationId, чтобы вернуть сведения об операции, запущенной с помощью этого API.

Запрос

Метод Универсальный код ресурса (URI) запроса
POST /Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss?api-version=6.0&OperationId={OperationId}&DataLossMode={DataLossMode}&timeout={timeout}

Параметры

Имя Тип Обязательно Расположение
serviceId строка Да Путь
partitionId строка (UUID) Да Путь
api-version строка Да Запрос
OperationId строка (UUID) Да Запрос
DataLossMode string (перечисление) Да Запрос
timeout integer (int64) Нет Запрос

serviceId

Тип: string
Обязательный: да

Идентификатор службы. Обычно он содержит полное имя службы из URI службы без указания схемы "fabric:". Начиная с версии 6.0, иерархические имена разделяются знаком "~". Например, если имя службы — "fabric:/myapp/app1/svc1", то в версии 6.0 и более поздних версиях идентификатором службы будет "myapp~app1~svc1", а в предыдущих версиях идентификатором был бы "myapp/app1/svc1".


partitionId

Тип: string (uuid)
Обязательный: да

Идентификатор секции.


api-version

Тип: string
Обязательный: да
По умолчанию: 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.


DataLossMode

Тип: string (перечисление)
Обязательный: да

Это перечисление передается в API StartDataLoss, чтобы указать, какой тип потери данных следует вызвать. Возможные значения: Invalid, PartialDataLoss, FullDataLoss.


timeout

Тип: integer (int64)
Обязательный: нет
По умолчанию: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Время ожидания сервера до выполнения операции в секундах. Время ожидания — промежуток времени, в течение которого клиент готов ждать выполнения запрошенной операции. Значение по умолчанию для этого параметра — 60 секунд.

Ответы

Код состояния HTTP Описание схеме ответа.
202 Accepted (принято). Код состояния 202 указывает, что операция была принята. Вызовите API GetDataLossProgress, чтобы получить сведения о ходе выполнения.
Все остальные коды состояния Подробный ответ об ошибке.
FabricError