Использование Powershell для создания набора инструментов .Netcore Visual Studio AWS «Публикация в AWS Lambda ...» - PullRequest
0 голосов
/ 14 апреля 2019

Я использовал Visual Studio 2017 с AWS Toolkit для разработки лямбда-функции .Net Core. У меня есть скрипт Cloudformation в файле с именем serverless.template и конфигурация развертывания в файле с именем aws-lambda-tools-defaults.json. При разработке проекта я развертывал его в учетной записи разработчика AWS, используя опцию «Опубликовать в AWS Lambda ...» правой кнопкой мыши в обозревателе решений.

Теперь я готов перейти к развертыванию этого в наших промежуточных и производственных учетных записях AWS, и мне нужно выполнить шаг развертывания «Опубликовать в AWS Lambda ...» с помощью Cloudformation, с целью создания наборов изменений Cloudformation, чтобы разрешить проверку до развертывания.

Я пытался выяснить, что делать, и экспериментировал с командами CLI «пакет облачной информации aws» и «пакет sam», но, похоже, я не могу найти путь вперед.

Может ли кто-нибудь помочь мне понять шаги, которые выполняет «Публикация в AWS Lambda ...»? Я хотел бы воспроизвести шаги в Powershell, так как это даст мне понимание, которое мне нужно двигаться дальше.

Спасибо.

1 Ответ

2 голосов
/ 15 апреля 2019

Для развертывания из командной строки используйте расширение CLI dotnet для Lambda.Это тот же код, который запускается в Visual Studio при публикации из мастера и может читать файл значений по умолчанию и т. Д., Чтобы вы получили согласованное развертывание независимо от того, выполняете ли вы развертывание из IDE или из командной строки.

ВыОтметим, что вы хотите понять, что происходит за кулисами - эти инструменты с открытым исходным кодом, поэтому вы можете взглянуть на всю работу, которую он делает для вас в этом GitHub репозитории .При развертывании безсерверного приложения наборы изменений CloudFormation используются автоматически, вам не нужно обрабатывать его самостоятельно.

Этот инструмент является глобальным инструментом .NET Core, который вы сначала устанавливаете из командной строки:

dotnet tool install -g Amazon.Lambda.Tools

После установки вы можете получить помощь и т. Д .:

PS C:\> dotnet lambda help
Amazon Lambda Tools for .NET Core applications (3.2.0)
Project Home: https://github.com/aws/aws-extensions-for-dotnet-cli, https://github.com/aws/aws-lambda-dotnet



Commands to deploy and manage AWS Lambda functions:

        deploy-function         Command to deploy the project to AWS Lambda
        invoke-function         Command to invoke a function in Lambda with an optional input
        list-functions          Command to list all your Lambda functions
        delete-function         Command to delete a Lambda function
        get-function-config     Command to get the current runtime configuration for a Lambda function
        update-function-config  Command to update the runtime configuration for a Lambda function

Commands to deploy and manage AWS Serverless applications using AWS CloudFormation:

        deploy-serverless       Command to deploy an AWS Serverless application
        list-serverless         Command to list all your AWS Serverless applications
        delete-serverless       Command to delete an AWS Serverless application

Commands to publish and manage AWS Lambda Layers:

        publish-layer           Command to publish a Layer that can be associated with a Lambda function
        list-layers             Command to list Layers
        list-layer-versions     Command to list versions for a Layer
        get-layer-version       Command to get the details of a Layer version
        delete-layer-version    Command to delete a version of a Layer

Other Commands:

        package                 Command to package a Lambda project into a zip file ready for deployment
        package-ci              Command to use as part of a continuous integration system.

To get help on individual commands execute:
        dotnet lambda help <command>

Чтобы развернуть проект из командной строки, сначала перейдите в папку проекта, затем выполните команду

dotnet lambda deploy-serverless

Это прочитает настройки в файле значений по умолчанию и выполнит развертывание за вас, как если бы вы использовали мастер IDE.

Надеюсь, что это, в сочетании с репо с открытым исходным кодом, поможет вам разобраться внеобходимые шаги.

...