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


Получение списка сведений о развернутых приложениях

Возвращает список приложений, развернутых на узле Service Fabric.

Возвращает список приложений, развернутых на узле Service Fabric. Результаты не включают в себя сведения о развернутых системных приложениях, если только они не запрашиваются явным образом по идентификатору. Результаты охватывают развернутые приложения в активном состоянии, состоянии активации и загрузки. Для этого запроса необходимо, чтобы имя узла соответствовало имени узла в кластере. Если имя указанного узла не указывает на любой из активных узлов Service Fabric в кластере, запрос завершается ошибкой.

Запрос

Метод Универсальный код ресурса (URI) запроса
GET /Nodes/{nodeName}/$/GetApplications?api-version=6.1&timeout={timeout}&IncludeHealthState={IncludeHealthState}&ContinuationToken={ContinuationToken}&MaxResults={MaxResults}

Параметры

Имя Тип Обязательно Расположение
nodeName строка Да Путь
api-version строка Да Запрос
timeout целое число (int64) Нет Запрос
IncludeHealthState Логическое Нет Запрос
ContinuationToken строка Нет Запрос
MaxResults целое число (int64) Нет Запрос

nodeName

Тип: строка
Обязательный: да

Имя узла.


api-version

Тип: строка
Обязательный: да
По умолчанию: 6.1

Версия API. Этот параметр является обязательным и его значение должно быть "6.1".

Версия REST API Service Fabric основана на версии среды выполнения, в которой api был представлен или изменен. Среда выполнения Service Fabric поддерживает несколько версий API. Это последняя поддерживаемая версия API. Если передается более ранжная версия API, возвращаемый ответ может отличаться от той, что описано в этой спецификации.

Кроме того, среда выполнения принимает любую версию, которая выше последней поддерживаемой версии, вплоть до текущей версии среды выполнения. Таким образом, если последняя версия API — 6.0, а среда выполнения — 6.1, чтобы упростить запись клиентов, среда выполнения примет версию 6.1 для этого API. Однако поведение API будет выполняться согласно описанной версии 6.0.


timeout

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

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


IncludeHealthState

Тип: boolean
Обязательный: нет
По умолчанию: false

Добавление состояния работоспособности сущности. Если этот параметр имеет значение false или не указан, возвращается состояние работоспособности Unknown. Если для этого параметра задано значение true, параллельно выполняется запрос к узлу и службе системы работоспособности, после чего результаты объединяются. В результате запрос требует больше ресурсов и времени.


ContinuationToken

Тип: строка
Обязательный: нет

Параметр маркера продолжения используется для получения следующего набора результатов. Маркер продолжения с непустым значением добавляется в ответ API, когда результаты из системы не помещаются в один ответ. Когда это значение передается в следующем вызове API, API возвращает следующий набор результатов. Если результаты отсутствуют, маркер продолжения не будет содержать значение. Значение этого параметра не должно быть указано в формате URL-адреса.


MaxResults

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

Максимальное количество результатов, возвращаемых в результате страничного запроса. Этот параметр определяет максимальное число возвращаемых результатов. Возвращаемых результатов может быть меньше, чем указанное максимальное количество результатов, если они не помещаются в сообщении согласно ограничениям максимального размера сообщения, определенным в конфигурации. Если этот параметр равен нулю или не указан, то результат страничного запроса содержит максимальное число результатов, помещающееся в возвращаемом сообщении.

Ответы

Код состояния HTTP Описание схеме ответа.
200 OK; При успешной операции возвращается код состояния 200 и список сведений о развернутом приложении.
PagedDeployedApplicationInfoList
Все остальные коды состояния Подробный ответ об ошибке.
FabricError

Примеры

Ограничение максимального количества результатов

В этом примере показано, как указать количество приложений, возвращаемых запросом при получении сведений о приложениях, развернутых на определенном узле. Количество результатов на странице ограничено максимум 2 с помощью параметра MaxResult. Состояние работоспособности в этом примере не запрашивается, поэтому возвращенное состояние работоспособности будет Неизвестно.

Запрос

GET http://localhost:19080/Nodes/_Node_0/$/GetApplications?api-version=6.1&MaxResults=2

Ответ 200

Текст
{
  "ContinuationToken": "fabric:/samples/PQueueApp1",
  "Items": [
    {
      "Id": "samples~CalculatorApp",
      "Name": "fabric:/samples/CalculatorApp",
      "TypeName": "CalculatorApp",
      "TypeVersion": "1.0.0",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
      "HealthState": "Unknown"
    },
    {
      "Id": "samples~PQueueApp1",
      "Name": "fabric:/samples/PQueueApp1",
      "TypeName": "PersistentQueueApp",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
      "HealthState": "Unknown"
    }
  ]
}

Страница с использованием маркера продолжения

В этом примере демонстрируется функция разбиения по страницам, доступная при получении сведений о приложениях, развернутых на определенном узле. В этом примере используется параметр ContinuationToken. Значение этого параметра предоставляется из предыдущего запроса; в этом случае в примере, показанном выше. Ответ содержит оставшиеся результаты и пустой элемент ContinuationToken. Пустой элемент ContinuationToken указывает, что дополнительные результаты недоступны.

Запрос

GET http://localhost:19080/Nodes/_Node_0/$/GetApplications?api-version=6.1&ContinuationToken=fabric:/samples/PQueueApp1

Ответ 200

Текст
{
  "ContinuationToken": "",
  "Items": [
    {
      "Id": "samples~VQueueApp1",
      "Name": "fabric:/samples/VQueueApp1",
      "TypeName": "VolatileQueueApp",
      "TypeVersion": "1.0.0",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
      "HealthState": "Unknown"
    }
  ]
}

Включение состояния работоспособности в результат

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

Запрос

GET http://localhost:19080/Nodes/_Node_0/$/GetApplications?api-version=6.1&IncludeHealthState=True

Ответ 200

Текст
{
  "ContinuationToken": "",
  "Items": [
    {
      "Id": "samples~CalculatorApp",
      "Name": "fabric:/samples/CalculatorApp",
      "TypeName": "CalculatorApp",
      "TypeVersion": "1.0.0",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
      "HealthState": "Ok"
    },
    {
      "Id": "samples~PQueueApp1",
      "Name": "fabric:/samples/PQueueApp1",
      "TypeName": "PersistentQueueApp",
      "TypeVersion": "1.0.0",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
      "HealthState": "Ok"
    },
    {
      "Id": "samples~VQueueApp1",
      "Name": "fabric:/samples/VQueueApp1",
      "TypeName": "VolatileQueueApp",
      "TypeVersion": "1.0.0",
      "Status": "Active",
      "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
      "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
      "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
      "HealthState": "Ok"
    }
  ]
}