Я пытаюсь использовать метод API REST. Развернуть пакет услуг в узел из приложения функций Azure. Мой запрос на обслуживание кластера фабрики не выполняется с ошибкой
Удаленный сервер возвратил ошибку: (500) SerializationError.
URI и тело запроса были построены с использованием следующего подхода:
// Uri
string uri = string.Format( "https://{0}/Nodes/{1}/$/DeployServicePackage?api-version={2}&timeout={3}",
this.ClusterConnection, nodeName, apiVersion, timeout );
// Request body
dynamic jsonBody = new JObject();
jsonBody.ServiceManifestName = this.ServiceManifestName;
jsonBody.ApplicationTypeName = this.ApplicationTypeName;
jsonBody.ApplicationTypeVersion = this.ApplicationTypeVersion;
jsonBody.NodeName = nodeName;
// Serialize body.
string body = JsonConvert.SerializeObject( jsonBody );
// Invoke request
InvokePost( uri, body );
Я использовал аналогичный подход с другим запросом API REST Service Fabric Тип приложения обеспечения , который выполняется успешно.
Отладка URI и параметров ничего не выявила, когда я сравнивал неудачные и успешные запросы.
Сбой запроса - развернуть пакет услуг до узла (URI + тело):
https://mycluster.westeurope.cloudapp.azure.com:19080/Nodes/_nt1vm_2/$/DeployServicePackage?api-version=6.0&timeout=60
{
"ServiceManifestName": "MyContainerPkg",
"ApplicationTypeName": "MyContainer",
"ApplicationTypeVersion": "1.0.0",
"NodeName": "_nt1vm_2"
}
Успешный запрос - тип приложения предоставления (URI + тело):
https://mycluster.westeurope.cloudapp.azure.com:19080/ApplicationTypes/$/Provision?api-version=6.2&timeout=60
{
"Kind": "ImageStorePath",
"ApplicationTypeBuildPath": "MyContainer",
"ApplicationPackageCleanupPolicy": "Automatic"
}