Como faço para criar um pacote de implantação do Lambda para C# .NET?

4 minuto de leitura
0

Eu criei um pacote de implantação de funções do AWS Lambda em C#. No entanto, quando tento invocar a função, o Lambda retorna um dos seguintes erros: “módulo não encontrado”, “o módulo não pode ser carregado” ou “não é possível encontrar a classe”. Como soluciono o problema?

Breve descrição

Se sua função C# do Lambda retornar algum dos seguintes erros, a estrutura de pastas do pacote de implantação da função não está configurada corretamente:

  • módulo não encontrado
  • o módulo não pode ser carregado
  • não foi possível encontrar a classe

Para resolver o problema, você deve criar um pacote de implantação de função C# do Lambda que tenha a estrutura de pastas correta. Há duas maneiras de criar e implantar um pacote de implantação de função C# do Lambda com a estrutura de pastas correta:

Resolução

Para usar a CLI do.NET Core e a extensão Amazon.Lambda.Tools

1.    Instale os modelos padrão do Lambda.NET e adicione a extensão Amazon.Lambda.Tools à .NET Core CLI executando o seguinte comando:

dotnet new -i 'Amazon.Lambda.Templates::*'

2.    Crie uma nova função do Lambda usando um dos modelos que você instalou ou adicione a extensão Amazon.Lambda.Tools a um projeto existente.

Para criar uma nova função do Lambda usando um dos modelos que você instalou

Na .NET Core CLI no diretório raiz do projeto da função do Lambda, execute o seguinte comando:

**Importante:**Substitua {function-name} pelo nome da sua função. Substitua {aws-region} pela região da AWS em que você quer sua função.

dotnet new lambda.EmptyFunction --name {function-name} --profile default --region {aws-region}

Para adicionar a extensão Amazon.Lambda.Tools a um projeto existente

Na .NET Core CLI no diretório raiz do projeto da função do Lambda, execute o seguinte comando:

dotnet tool install -g Amazon.Lambda.Tools

**Observação:**A extensão Amazon.Lambda.Tools solicitará que você forneça quaisquer parâmetros necessários que estejam faltando.

3.    Faça o download das dependências do seu pacote de implantação executando o seguinte comando:

**Importante:**Substitua {your-function-directory} pelo nome do seu diretório de funções.

cd {your-function-directory}
dotnet restore

**Observação:**Se você receber um erro não compatível, verifique se está usando uma versão do.NET Core compatível com as ferramentas do Lambda. Para baixar versões anteriores do.NET Core, consulte o site de Arquivos de download do .NET.

4.    Crie seu pacote de implantação do Lambda executando o seguinte comando:

dotnet lambda deploy-function

**Observação:**Ou você pode criar um pacote de implantação do Lambda do zero e implantá-lo separadamente. Para instruções, consulte Como implantar de um projeto do AWS Lambda com a .NET Core CLI.

5.    A .NET Core CLI solicita que você insira um nome de função e atribua um perfil do AWS Identity and Access Management (IAM) à função. Insira um nome para sua função e atribua à função um perfil do IAM. Sua função é então criada.

Para usar o AWS Toolkit for Visual Studio

1.    Baixe e instale o AWS Toolkit for Visual Studio.

2.    Crie e construa um projeto do AWS Lambda Project (.NET Core). Para instruções, consulte Como usar os modelos do AWS Lambda no AWS Toolkit for Visual Studio e o AWS Toolkit for Visual Studio no guia de desenvolvedor do AWS Lambda.

**Importante:**Certifique-se de que a assinatura do manipulador de função esteja no seguinte formato:

ASSEMBLY::TYPE::METHOD

Para confirmar se a função está formatada corretamente, revise os arquivos no diretório src/ {function-name} da sua função. Para obter mais informações, consulte .NET Core CLI e manipulador de função do AWS Lambda em C#.


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos