У меня есть несколько разных сервисов, работающих на той же базе кода, что и рабочие роли azure для Windows. Я пытаюсь проверить и проверить, работает ли исполняемый код в определенном экземпляре. Если я позвоню к этому в API управления:Сопоставьте идентификатор развертывания в Windows Azure
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(
new Uri("https://management.core.windows.net/" + subscriptionId + "/services/hostedservices/<<servicename>>/deploymentslots/production?embed-detail=true"));
я получаю ответ, как это:
<Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Name>c8bd3b12f1bc4e0db9d8c1d59e97e48b</Name>
<DeploymentSlot>Production</DeploymentSlot>
<PrivateID>d1ea61e367e84aedb68de97eded3e896</PrivateID>
<Status>Running</Status>
<Label>SXRlbVVwZGF0ZXIgLSAzLzEzLzIwMTMgMTA6NDQ6MTUgQU0=</Label>
<Url>http://itemupdater3.cloudapp.net/</Url>
<RoleInstanceList>
<RoleInstance>
<RoleName>UpdateItems</RoleName>
<InstanceName>UpdateItems_IN_0</InstanceName>
<InstanceStatus>Ready</InstanceStatus>
</RoleInstance>
</RoleInstanceList>
<UpgradeDomainCount>1</UpgradeDomainCount>
<RoleList>
<Role>
<RoleName>UpdateItems</RoleName>
<OsVersion>WA-GUEST-OS-1.22_201302-02</OsVersion>
</Role>
</RoleList>
</Deployment>
Я пытаюсь проверить и посмотреть, если в настоящее время выполнения кода имеет тот же идентификатор, как это ответ. Если сравнивать:
xml["Deployment"]["Name"].InnerText;
Для
RoleEnvironment.CurrentRoleInstance.Role.Instances[0].Id;
Он никогда не совпадает. Как мне сопоставить что-то с C# с идентификатором, возвращаемым API? Спасибо!
Спасибо, Игорь. Могу ли я получить идентификатор экземпляра также через API-интерфейс службы? Является ли это «PrivateID» или «Name» или «Label» в XML выше? – kevin
Это имя экземпляра proprety под элементом RoleInstance элемента RoleInstanceList – Igorek