Перейти к содержимому

Начало работы

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

Чтобы начать работу с MWS SDK для Go:

  1. Создайте новую локальную директорию для кода (например, my-project) и инициализируйте Go-модуль:

    bash
    mkdir my-project
    cd my-project
    go mod init my-project
  2. Добавьте зависимость в Go-проект:

    bash
    go get go.mws.cloud/go-sdk

В этом примере для авторизации используется IAM-токен.

Задайте переменные окружения:

bash
export MWS_TOKEN="$(mws iam create-token)" # Команда автоматически получит и сохранит IAM-токен
export MWS_PROJECT="<имя проекта в MWS Cloud Platform>"
  1. В директории проекта создайте файл main.go.

  2. В созданный файл добавьте код:

    go
    package main
    import (
    "context"
    "fmt"
    "log"
    "go.mws.cloud/util-toolset/pkg/utils/ptr"
    computeclient "go.mws.cloud/go-sdk/service/compute/client"
    computesdk "go.mws.cloud/go-sdk/service/compute/sdk"
    "go.mws.cloud/go-sdk/mws"
    )
    func main() {
    ctx := context.Background()
    // Загрузка конфигурации SDK из переменных окружения (MWS_PROJECT и MWS_TOKEN).
    // Вы можете переопределить настройки с помощью функциональных опций mws.LoadSDKOption.
    sdk, err := mws.Load(ctx)
    if err != nil {
    log.Fatalln("Ошибка загрузки SDK:", err)
    }
    defer sdk.Close(ctx)
    // Создание клиента для работы с сервисом виртуальных машин
    client, err := computesdk.NewVirtualMachine(ctx, sdk)
    if err != nil {
    log.Panicln("Ошибка создания клиента:", err)
    }
    // Получение списка ВМ с ограничением страницы до 10 штук
    virtualMachines, err := client.ListVirtualMachines(ctx, computeclient.ListVirtualMachinesRequest{
    PageSize: ptr.Get(10),
    })
    if err != nil {
    log.Panicln("Ошибка получения списка виртуальных машин:", err)
    }
    // Вывод идентификаторов найденных виртуальных машин
    fmt.Println("Виртуальные машины:")
    for _, vm := range virtualMachines.GetItems() {
    fmt.Println(vm.GetMetadata().GetId())
    }
    }

    Код в примере инициализирует клиент SDK с использованием IAM-токена и получает список виртуальных машин в вашем проекте.

  3. Выполните команду для запуска кода:

    bash
    go run main.go

    Если аутентификация прошла успешно, вы увидите список идентификаторов виртуальных машин в проекте.

    Если в проекте нет виртуальных машин, список будет пустым.

Вы можете настроить конфигурацию Go-проекта с помощью переменных окружения или функциональных опций.