Я создал файл SAM template.yaml, который содержит два экземпляра API Gateway - один для производства и один для подготовки. Каждый из них имеет свой собственный этап, называемый «Производство» и «Этап», соответственно, и каждый из этих этапов имеет свои собственные переменные этапа, которые *
соответствуют среде. *1001*
Приложение, которое я создаю локально, было создано с использованием AWS SAM CLI, и я использую команду 'sam local start-api' для запуска локальных экземпляров шлюза API для проверки вызова конечных точек в почтальоне - что работало нормально. К сожалению, теперь мне нужно начать тестирование конечных точек, требующих переменных этапа, и я не вижу способа сказать SAM CLI, какой из двух экземпляров API Gateway в файле шаблона имитировать. Очевидно, что я не хочу, чтобы он использовал Production, поскольку в нем будут данные, которые подключаются к действующим сервисам.
Я знаю, что мог создать один экземпляр шлюза API, который содержит две стадии и т. Д., В случае что вышеописанного способа нет, есть ли способ заставить SAM использовать определенный этап в экземпляре шлюза API? Ниже приведен фрагмент из моего файла шаблона.
ApiProduction:
Type: AWS::Serverless::Api
Properties:
Name: service-layer-production-v1
StageName: Production
OpenApiVersion: 3.0.1
Auth:
ApiKeyRequired: true
Variables:
IS_STAGING: false
VARIABLE2: value-a
VARIABLE3: value-a
Models:
Error:
$schema: http://json-schema.org/draft-04/schema#
title: Error Schema
type: object
properties:
message:
type: string
Empty:
$schema: http://json-schema.org/draft-04/schema#
title: Empty Schema
type: object
properties:
message:
type: string
ApiStaging:
Type: AWS::Serverless::Api
Properties:
Name: service-layer-staging-vnull
StageName: Staging
OpenApiVersion: 3.0.1
Auth:
ApiKeyRequired: true
Variables:
IS_STAGING: true
VARIABLE2: value-b
VARIABLE3: value-b
Models:
Error:
$schema: http://json-schema.org/draft-04/schema#
title: Error Schema
type: object
properties:
message:
type: string
Empty:
$schema: http://json-schema.org/draft-04/schema#
title: Empty Schema
type: object
properties:
message:
type: string