Я создал файл SAM template.yaml, содержащий два экземпляра API Gateway - один для производства, а другой - для промежуточного использования. Каждый из них имеет свой собственный этап, называемый соответственно производственным и промежуточным, и каждый из этих этапов имеет свои собственные переменные этапа, которые зависят от среды.
Приложение, которое я создаю локально, было создано с использованием AWS SAM CLI, и я использовал команду sam local start-api для запуска локальных экземпляров шлюза API для тестирования конечных точек вызова в почтальоне, который работал нормально. . К сожалению, теперь мне нужно начать тестирование конечных точек, для которых требуются переменные стадии, и я не вижу никакого способа сообщить SAM CLI, какой из двух экземпляров шлюза API в файле шаблона следует имитировать. Очевидно, я не хочу, чтобы он использовал 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