IRONSOFTWAREHOME

Como usar o IronWord no AWS Lambda

Kye Stuart
Kye Stuart
Updated: 4 de junho de 2026

Este artigo fornece um guia completo para configurar uma função AWS Lambda usando o IronWord. Você aprenderá como configurar o IronWord para criar e manipular documentos do Word em um ambiente AWS Lambda.

Instalação

Como este exemplo irá ler/gravar documentos do Word em um bucket do S3, o pacote NuGet AWSSDK.S3 é necessário.

Utilizando o pacote ZIP do IronWord no AWS Lambda

Ao usar o pacote ZIP do IronWord , é importante definir um caminho de implantação temporário, pois o AWS Lambda possui um sistema de arquivos somente leitura, com exceção da pasta /tmp/. Você precisa configurar o IronWord para usar esta pasta para seus arquivos de tempo de execução:

var awsTmpPath = @"/tmp/";
C#

Integrando o IronWord com a AWS

Criar um projeto AWS Lambda

Utilize o Visual Studio para criar um projeto AWS Lambda em contêiner:

  1. Instale o AWS Toolkit para Visual Studio.
  2. Selecione o projeto AWS Lambda (.NET Core - C#)
  3. Selecione o modelo .NET 8 (Imagem de Contêiner) e conclua a configuração.
  4. Selecione a imagem do contêiner como o tipo de implantação.

Adicionar dependências de pacotes

Adicione os pacotes IronWord e AWSSDK.S3 ao seu projeto via NuGet. A biblioteca IronWord funciona perfeitamente no AWS Lambda com a configuração correta. Execute o seguinte comando para instalar o IronWord em seu projeto AWS sem problemas:

PM > Install-Package IronWord

Atualize o Dockerfile do seu projeto para usar a imagem base do Lambda .NET 8 e copie os artefatos de compilação:

DE public.ecr.aws/lambda/dotnet:8

EXECUTE dnf update -y

DIRETÓRIO DE TRABALHO /var/tarefa

COPIAR "bin/Release/lambda-publish".
Text

Modifique o código do manipulador de funções.

Abaixo está um exemplo de função Lambda que cria um documento Word simples, salva-o como um arquivo .docx e o carrega para um bucket S3.

using Amazon.Lambda.Core;
using Amazon.S3;
using Amazon.S3.Model;
using IronWord;
using IronWord.Models;
using System.Text;

// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]

namespace IronWordAwsLambda;

public class Function
{
    private static readonly IAmazonS3 _s3Client = new AmazonS3Client(Amazon.RegionEndpoint.APSoutheast1);

    public async Task FunctionHandler(ILambdaContext context)
    {
        var awsTmpPath = @"/tmp/";
        License.LicenseKey = "YOUR-LICENSE-KEY"; // Replace if you have one

        string filename = Guid.NewGuid() + ".docx";
        string localPath = Path.Combine(awsTmpPath, filename);
        string bucketName = "your-s3-bucket-name";
        string objectKey = $"IronWordAwsLambda/{filename}";

        try
        {
            // Create Word Document
            var doc = new WordDocument();
            Paragraph paragraph = new Paragraph(new TextContent("Hello from IronWord on AWS Lambda!"));
            doc.AddParagraph(paragraph);
            doc.SaveAs(localPath);

            context.Logger.LogLine("Word document created.");

            // Upload to S3
            byte[] fileBytes = await File.ReadAllBytesAsync(localPath);
            await UploadToS3Async(bucketName, objectKey, fileBytes);

            context.Logger.LogLine($"Document uploaded to S3: {bucketName}/{objectKey}");
        }
        catch (Exception ex)
        {
            context.Logger.LogLine($"[ERROR] {ex.Message}");
        }
    }

    private async Task UploadToS3Async(string bucketName, string objectKey, byte[] fileBytes)
    {
        using var stream = new MemoryStream(fileBytes);
        var request = new PutObjectRequest
        {
            BucketName = bucketName,
            Key = objectKey,
            InputStream = stream,
            ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        };
        await _s3Client.PutObjectAsync(request);
    }
}

Aumentar a memória e o tempo limite

Como o processamento de documentos pode consumir muita memória, aumente a memória da sua função Lambda para pelo menos 512 MB e o tempo limite para 300 segundos no arquivo aws-lambda-tools-defaults.json:

{
  "function-memory-size": 512,
  "function-timeout": 300
}
JSON

Se você se deparar com erros como "Runtime exited with error: signal: killed", aumente a memória ou otimize seu código.

Publicar

Para publicar sua função Lambda:

  • Clique com o botão direito do mouse no seu projeto no Visual Studio.
  • Selecione Publicar no AWS Lambda... Siga o assistente e configure as definições conforme necessário.

Experimente!

Invoque a função Lambda através do Console do AWS Lambda ou do Visual Studio. Após a execução, verifique seu bucket S3 para encontrar o documento do Word recém-criado.

Perguntas frequentes

O que é o IronWord e como ele pode aprimorar o processamento de documentos do Word no AWS Lambda?

O IronWord é uma ferramenta poderosa para processar documentos do Word e, quando integrado ao AWS Lambda, oferece gerenciamento de documentos escalável e eficiente, permitindo automatizar e otimizar tarefas relacionadas a documentos do Word.

Como faço para integrar o IronWord com o AWS Lambda?

Para integrar o IronWord com o AWS Lambda, você precisa configurar o pacote IronWord em seu ambiente AWS Lambda, configurar as permissões necessárias e implantar o código da sua função que utiliza os recursos do IronWord para processamento de documentos.

Quais são os benefícios de usar o IronWord no AWS Lambda?

Utilizar o IronWord no AWS Lambda permite aproveitar a arquitetura sem servidor para o processamento de documentos do Word, proporcionando escalabilidade, custo-benefício e gerenciamento de infraestrutura reduzido.

Posso automatizar tarefas em documentos do Word usando o IronWord no AWS Lambda?

Sim, você pode automatizar várias tarefas em documentos do Word, como criação, modificação e conversão, usando o IronWord em funções do AWS Lambda.

É possível processar documentos Word extensos com o IronWord no AWS Lambda?

O IronWord foi projetado para lidar com eficiência com documentos Word grandes e, quando usado com o AWS Lambda, pode processar documentos de forma escalável, dependendo da configuração do Lambda.

Que tipo de operações em documentos do Word o IronWord pode executar no AWS Lambda?

O IronWord pode executar diversas operações em documentos do Word, incluindo edição, formatação, extração de texto e conversão de documentos para diferentes formatos, tudo dentro de um ambiente AWS Lambda.

Há algum pré-requisito para implantar o IronWord no AWS Lambda?

Antes de implantar o IronWord no AWS Lambda, certifique-se de ter uma conta da AWS, estar familiarizado com a configuração do AWS Lambda e ter configurado todas as funções e permissões do IAM necessárias.

Como o IronWord lida com atualizações e manutenção no AWS Lambda?

O IronWord é atualizado regularmente para garantir compatibilidade e melhorias de desempenho. Em um ambiente AWS Lambda, você pode atualizar facilmente seu pacote de implantação com a versão mais recente do IronWord para manter a funcionalidade ideal.

Que tipo de suporte está disponível para usar o IronWord com o AWS Lambda?

A Iron Software fornece documentação e suporte para auxiliar os usuários na integração e utilização do IronWord no AWS Lambda, garantindo que você possa aproveitar efetivamente seus recursos para suas necessidades de processamento de documentos.

What should I do if I encounter errors while using IronWord on AWS Lambda?

If you encounter errors like 'Runtime exited with error: signal: killed,' try increasing the memory allocation or optimizing your code for better performance.

Kye Stuart
Redator Técnico

Kye Stuart une sua paixão por programação e sua habilidade de escrita na Iron Software. Formado em implantação de software pela Yoobee College, ele agora transforma conceitos tecnológicos complexos em conteúdo educacional claro. Kye valoriza o aprendizado contínuo e abraça novos desafios tecnológicos.

...
Leia mais

Pronto para começar?

Nuget Downloads 57,266Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

OR
bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.