Я новость для aws и aws -lambda-cli. Поэтому я попытался создать простой Hello World, следуя этой статье: http://www.philliphaydon.com/2017/03/15/part1-creating-a-good-old-hello-world-aws-csharp-lambda/. Единственная разница в начале: я сделал $ dotnet new classlib -n HelloWorldLambda
вместо $ dotnet new classlib -n HelloWorldLambda -f netcoreapp1.0
, потому что я не хочу нацеливаться на эту версию.
Для компиляции я использую эту командную строку: dotnet lambda package
, затем я загружаю Пройдите к моей лямбде и запустите тест. Журналы CloudWatch показывают эти строки:
"Failed to execute the Lambda function. The dotnet CLI failed to start with the provided deployment package. Please check CloudWatch logs for this Lambda function to get detailed information about this failure.: LambdaException "
"Failed to run as a self-contained app. If this should be a framework-dependent app, specify the appropriate framework in /var/task/lambda-synchro-qbo.runtimeconfig.json."
"A fatal error was encountered. The library 'libhostpolicy.so' required to execute the application was not found in '/var/task/'."
My lambda-synchro-qbo.runtimeconfig. json находится в root почтового индекса и содержит это:
{
"runtimeOptions": {
"tfm": "netstandard2.0"
}
}
Я подозревал, что мой пакет не является автономным / переносимым, но даже если я скомпилирую вот так dotnet lambda package --msbuild-parameters "--self-contained"
У меня та же проблема.
Чего мне не хватает?
Спасибо, Amaury