Создание API-шлюза
-
В консоли управления выберите каталог, в котором необходимо создать API-шлюз.
-
В списке сервисов выберите API Gateway.
-
Нажмите кнопку Создать API-шлюз.
-
В поле Имя введите
numbers
. -
(опционально) В поле Описание введите описание.
-
В блок Спецификация добавьте спецификацию:
openapi: "3.0.0" info: version: 1.0.0 title: Test API paths: /hello: get: summary: Say hello operationId: hello parameters: - name: user in: query description: User name to appear in greetings required: false schema: type: string default: 'world' responses: '200': description: Greeting content: 'text/plain': schema: type: "string" x-yc-apigateway-integration: type: dummy http_code: 200 http_headers: 'Content-Type': "text/plain" content: 'text/plain': "Hello, {user}!\n"
-
Нажмите кнопку Создать.
Чтобы создать API-шлюз:
-
Сохраните следующую спецификацию в файл
hello-world.yaml
:openapi: "3.0.0" info: version: 1.0.0 title: Test API paths: /hello: get: summary: Say hello operationId: hello parameters: - name: user in: query description: User name to appear in greetings required: false schema: type: string default: 'world' responses: '200': description: Greeting content: 'text/plain': schema: type: "string" x-yc-apigateway-integration: type: dummy http_code: 200 http_headers: 'Content-Type': "text/plain" content: 'text/plain': "Hello, {user}!\n"
-
Выполните команду:
yc serverless api-gateway create --name hello-world --spec=hello-world.yaml --description "hello world"
Где:
name
— имя API-шлюза.spec
— файл со спецификацией.description
— описание API-шлюза.
Результат:
done (29s) id: d5dug9gkmu187iojcrtr folder_id: b1g55tflru0ek7omtfu0 created_at: "2020-06-17T09:20:22.929Z" name: hello-world description: hello world status: ACTIVE domain: d5dug9gkmu187iojcpvp.apigw.yandexcloud.net log_group_id: ckghq1hm19q7ek5sjnh5
Создать API-шлюз можно с помощью метода API create.
Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать API-шлюз:
-
Опишите в конфигурационном файле параметры ресурса
yandex_api_gateway
:-
name
— имя API-шлюза. Формат имени:- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
description
— описание API-шлюза. -
labels
— метки для API-шлюза. Укажите пару ключ-значение. -
spec
— спецификация API-шлюза.
Пример структуры конфигурационного файла:
resource "yandex_api_gateway" "test-api-gateway" { name = "<имя API-шлюза>" description = "<описание API-шлюза>" labels = { label = "label" empty-label = "" } spec = <<-EOT openapi: "3.0.0" info: version: 1.0.0 title: Test API paths: /hello: get: summary: Say hello operationId: hello parameters: - name: user in: query description: User name to appear in greetings required: false schema: type: string default: 'world' responses: '200': description: Greeting content: 'text/plain': schema: type: "string" x-yc-apigateway-integration: type: dummy http_code: 200 http_headers: 'Content-Type': "text/plain" content: 'text/plain': "Hello, {user}!\n" EOT }
Более подробную информацию о параметрах ресурсов в Terraform см. в документации провайдера.
-
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команд CLI:
yc serverless api-gateway get <имя API-шлюза>
-
Создать API-шлюз можно с помощью плагина Yandex Cloud Toolkit для семейства IDE на платформе IntelliJ от JetBrains.