Как запустить ранее остановленный экземпляр контейнера Azure с помощью C #? - PullRequest
0 голосов
/ 09 декабря 2018

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

using Microsoft.Azure.Management.Compute.Fluent.Models;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;

 var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal("XXXX",                "XXXX", "XXXX", AzureEnvironment.AzureGlobalCloud);

        var azure = Azure
            .Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
            .Authenticate(credentials)
            .WithSubscription("XXXXX");

        var containerName = "mycontainer";
        var containerGroup = azure.ContainerGroups.GetByResourceGroup("myResourceGroup", containerName);
        if (containerGroup.State == "Running")
        {
            containerGroup.Stop();
        }

Я хотел бы сделать то же самое и запустить свой экземпляр контейнера Azure.Так где же containerGroup.Start ();?Это, кажется, не существует в интерфейсе.Я попытался с помощью containerGroup.Restart ();но это не работает из остановленного состояния.Я должен быть в состоянии сделать это из кода C # и хотел бы избежать PowerShell, если это возможно.

1 Ответ

0 голосов
/ 11 декабря 2018

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

Прекращенные или удаленные группы контейнеров не могут быть обновлены.Как только группа контейнеров остановлена ​​(находится в состоянии «Завершено») или удалена, группа развертывается как новая.

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

Таким образом, в C # SDK для вас нет функции запуска, по крайней мере, сейчас.Надеюсь, что это поможет вам.

Обновление

Взгляните на событие:

enter image description here

Каждый раз, когда вы запускаете группу контейнеров после остановки, группа контейнеров всегда выполняет следующие действия: вытащить изображение -> создать группу контейнеров -> запустить экземпляры контейнеров.Итак, ясно, что группа контейнеров была воссоздана при запуске после остановки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...