Как мне запустить приложение CDK?

Я создал и построил новый проект CDK:

mkdir myproj
cd myproj
cdk init --language typescript
npm run build

Если я пытаюсь запустить полученный JavaScript, я вижу следующее:

PS C:\repos\myproj> node .\bin\myproj.js
CloudExecutable/1.0

Usage:
  C:\repos\myproj\bin\myproj.js REQUEST

REQUEST is a JSON-encoded request object.

Как правильно запустить мое приложение?

3 ответа

Решение

Вам не нужно запускать программы CDK напрямую, вместо этого используйте CDK Toolkit.

Чтобы синтезировать AWS CloudFormation из вашего приложения:

cdk synth --app "node .\bin\myproj.js"

Чтобы избежать повторного ввода --app переключаться каждый раз, вы можете настроить cdk.json файл с:

{ "app": "node .\app\myproj.js" }

Примечание: по умолчанию cdk.json создан cdk initтак что вы должны увидеть его под C:\repos\myproj,

Вы также можете использовать этот инструментарий для развертывания своего приложения в среде AWS:

cdk deploy

Или перечислите все стеки в вашем приложении:

cdk ls

Приложение CDK ожидает, что запрос будет предоставлен как позиционный аргумент CLI, когда вы используете низкоуровневый API (иначе говоря, приложение запускается напрямую), например:

node .\bin\myproj.js '{"type":"list"}'

Вместо этого он также может быть передан в виде двоичного объекта в кодировке Base64 (что может сделать цитирование JSON менее болезненным в ряде случаев) - перед Base64 должен стоять префикс base64: в этом случае.

node .\bin\myproj.js base64:eyAidHlwZSI6ICJsaXN0IiB9Cg==

Чтобы определить, какие API-интерфейсы доступны и какие аргументы они ожидают, вы можете обратиться к @aws-cdk/cx-api Спецификация.

Посмотрите на документы, запустив:

CDK документы

Тема "Начало работы" поможет.

Другие вопросы по тегам