Jak spustit obraz Aspose.CAD Docker v AWS Lambda funkci
Předpoklady
- Musíte mít nainstalován Docker na vašem systému. Pokud chcete informace o tom, jak nainstalovat Docker ve Windows nebo Mac, podívejte se na odkazy v sekci „Viz také“.
- Visual Studio 2022.
- AWS Toolkit pro Visual Studio 2022.
- V příkladu je použit .NET 6 SDK.
- Postman
AWS Lambda Funkce
Lambda je výpočetní služba, která vám umožňuje spouštět kód bez nutnosti provozovat nebo spravovat servery. Lambda spouští váš kód na infrastruktuře s vysokou dostupností a provádí veškerou správu výpočetních zdrojů včetně údržby serverů a operačního systému, provozování kapacity a automatického škálování a logování. S Lambdou můžete spouštět kód pro prakticky jakoukoli aplikaci nebo backendovou službu.
Vytváření AWS Lambda Funkce
Chcete-li vytvořit program pro AWS Lambda Funkci, postupujte podle níže uvedených kroků:
- Vytvořte projekt AWS Lambda.
- Vyberte .NET 6 (Obraz kontejneru) a klikněte na tlačítko ‘Dokončit’.
- Otevřete průzkumníka AWS ve Visual Studiu (Zobrazení-> Průzkumník AWS).
- Přidejte profil přístupových údajů AWS do průzkumníka AWS.
- Zadejte Identifikační ID klíče a tajný přístupový klíč, tyto klíče můžete získat v bezpečnostních přístupech nebo kontaktujte administrátora a získejte soubor CSV pro autorizaci.
- Nainstalujte nejnovější knihovny z NuGet.
- Ukázkový kód pro převod obrázku CAD na soubor PDF.
public APIGatewayHttpApiV2ProxyResponse FunctionHandler(APIGatewayHttpApiV2ProxyRequest stream, ILambdaContext context) { try { var parser = HttpMultipartParser.MultipartFormDataParser.Parse(new MemoryStream(Convert.FromBase64String(stream.Body))); var file = parser.Files.First(); Stream fileStream = file.Data; using (var img = Aspose.CAD.Image.Load(fileStream)) { var ms = new MemoryStream(); img.Save(ms, new PdfOptions()); ms.Seek(0, (System.IO.SeekOrigin)SeekOrigin.Begin); return new APIGatewayHttpApiV2ProxyResponse { StatusCode = (int)HttpStatusCode.OK, Body = Convert.ToBase64String(ms.ToArray()), IsBase64Encoded = true, Headers = new Dictionary<string, string> { {"Content-Type", "application/pdf" }, {"Content-Disposition", "attachment;filename=filename.pdf" } } }; } } catch (Exception e) { return new APIGatewayHttpApiV2ProxyResponse { StatusCode = (int)HttpStatusCode.OK, Body = e.Message, Headers = new Dictionary<string, string> { { "Content-Type", "text/html" } } }; } }
- Editujte soubor DockerFile podle sekce Nastavení Dockerfile.
- Spusťte Docker Desktop.
- Publikujte do AWS Lambda.
- Upravte konfiguraci nahrání.
- Klikněte na tlačítko ‘Nahrát’.
- Přejděte do prostředí AWS a vyberte Lambda.
- Vyberte vaši novou funkci a vytvořte funkci pro vytvoření URL adresy.
- Zvolte typ ověření
- AWS_IAM - Pouze ověření IAM uživatelů a rolí můžou zasílat požadavky na URL adresu vaší funkce.
- NONE - Lambda nebude provádět ověření IAM u požadavků na URL funkce. Koncový bod URL bude veřejný, pokud neimplementujete vlastní logiku autorizace ve vaší funkci.
Nastavení Dockerfile
Dalším krokem je upravit konfiguraci Dockerfile v projektu.
- V Dockerfile specifikujte:
FROM public.ecr.aws/lambda/dotnet:6
WORKDIR /var/task
COPY "bin/Release/lambda-publish" .
RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras install epel -y
RUN yum install -y libgdiplus
CMD ["AWSLambda::AWSLambda.Function::FunctionHandler"]
Výše uvedený je jednoduchý Dockerfile, který obsahuje tyto pokyny:
- Obrázek SDK, který se má použít. Zde je to obraz Net 6. Docker si ho stáhne při spuštění sestavení. Verze SDK je specifikována jako štítek.
- Poté můžete potřebovat nainstalovat písma, protože obrázek SDK obsahuje velmi málo písem. Také můžete použít lokální písma zkopírovaná do obrazu Docker.
- Pracovní adresář, který je specifikován v následujícím řádku.
- Příkaz pro zkopírování všeho do kontejneru, publikování aplikace a specifikaci vstupního bodu.
Příklad spuštění
- Nastavení v Postmanu.
- Vyberte libovolný soubor DXF, DWG, DGN, DWF, DWFX, IFC, STL, DWT, IGES, PLT, CF2, OBJ, HPGL, IGS, PCL, FBX, PDF, SVG.
- Klikněte na tlačítko odeslat.
Další příklady
Pro více ukázek, jak můžete použít Aspose.CAD v Dockeru, podívejte se na příklady.
Viz také
- Instalace AWS Toolkit pro Visual Studio 2022
- Instalace Docker Desktop ve Windows
- Instalace Docker Desktop v Macu
- Visual Studio 2022, NET 6 SDK
- Možnost přepnutí na linuxové kontejnery Switch to Linux containers
- Další informace o .NET Core SDK