איך להריץ את תמונת Docker של Aspose.CAD בפונקציית AWS Lambda
דרישות מוקדמות
- עליך להתקין את Docker במערכת שלך. למידע על كيفية להתקין את Docker על Windows או Mac, עיין בקישורים במסך “ראו גם” (See Also).
- Visual Studio 2022.
- AWS Toolkit for Visual Studio 2022.
- NET 6 SDK משמש בדוגמה.
- Postman
פונקציית AWS Lambda
Lambda היא שירות חישוב המאפשר לך להריץ קוד מבלי לנהל או להקצות שרתים. Lambda מריצה את הקוד שלך על תשתית חישוב בעלת זמינות גבוהה ומבצעת את כל הניהול של משאבי החישוב, כולל תחזוקת שרת ומערכת הפעלה, הקצאת קיבולת והספקה אוטומטית, ורישום. עם Lambda, תוכל להריץ קוד כמעט לכל סוג של יישום או שירות רדום.
יצירת פונקציית AWS Lambda
כדי ליצור את תוכנית פונקציית AWS Lambda, פעל לפי השלבים הבאים:
- צור פרויקט AWS Lambda.
- בחר .NET 6 (תמונת קונטיינר) ולחץ על כפתור ‘סיים’ (Finish).
- פתח את AWS Explorer ב- Visual Studio (View->AWS Explorer).
- הוסף פרופיל אימות AWS ב-AWS Explorer.
- הזן את Access Key ID ואת Secret Access Key, תוכל לקבל מפתחות אלו באימות אבטחה או לפנות למנהל ולקבל קובץ csv עבור האימות.
- התקן את הספריות האחרונות מ-NuGet.
- דוגמת קוד להמרת תמונת cad לקובץ 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" } } }; } }
- ערוך את DockerFile כפי שנמצא בסעיף הגדרת Dockerfile.
- הפעל את Docker Desktop.
- פרסם ל-AWS Lambda.
- ערוך את הגדרות ההעלאה.
- לחץ על כפתור ‘העלה’ (Upload).
- עבור ל-AWS ובחר Lambda.
- בחר את הפונקציה החדשה שלך וצור את קובץ ה-URL.
- בחר את סוג האימות
- AWS_IAM - רק משתמשים ותפקידי IAM מאומתים יכולים לבצע בקשות ל-URL הפונקציה שלך.
- NONE - Lambda לא תבצע אימות IAM על בקשות ל-URL הפונקציה שלך. נקודת הקצה של ה-URL תהיה ציבורית אלא אם תיישם את הלוגיקה של האימות שלך בפונקציה שלך.
הגדרת Dockerfile
השלב הבא הוא לערוך את הגדרת ה-Dockerfile בפרויקט.
- ב-Dockerfile, ציין:
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"]
הדוגמה שלעיל היא Dockerfile פשוט, הכולל את ההוראות הבאות:
- תמונת ה-SDK שיש להשתמש בה. כאן זו תמונת Net 6. Docker יוריד אותה כאשר יתבצע הבניית.
- לאחר מכן, ייתכן שתצטרך להתקין גופנים כי לתמונת ה-SDK יש מעט מאוד גופנים. בנוסף, תוכל להשתמש בגופנים מקומיים שהועתקו לתמונת הדוקר.
- ספריית העבודה, שמצוינת בשורה הבאה.
- הפקודה להעתיק הכל לקונטיינר, לפרסם את היישום ולציין את הנקודת כניסה.
דוגמת ביצוע
- הגדרות Postman.
- בחר כל קובץ DXF, DWG, DGN, DWF, DWFX, IFC, STL, DWT, IGES, PLT, CF2, OBJ, HPGL, IGS, PCL, FBX, PDF, SVG.
- לחץ על כפתור השליחה.
דוגמאות נוספות
למגוון דוגמאות כיצד תוכל להשתמש ב-Aspose.CAD בדוקר, ראה את דוגמאות.