كيفية تشغيل صورة Aspose.CAD Docker في دالة AWS Lambda
المتطلبات المسبقة
- يجب أن يكون Docker مثبتًا على نظامك. لمزيد من المعلومات حول كيفية تثبيت Docker على Windows أو Mac، راجع الروابط في قسم “راجع أيضًا”.
- Visual Studio 2022.
- AWS Toolkit لـ Visual Studio 2022.
- تم استخدام NET 6 SDK في المثال.
- Postman
دالة AWS Lambda
Lambda هي خدمة حسابية تتيح لك تشغيل الكود دون الحاجة إلى توفير أو إدارة الخوادم. تقوم Lambda بتشغيل الكود الخاص بك على بنية تحتية حسابية عالية التوفر وتؤدي جميع مهام إدارة موارد الحوسبة، بما في ذلك صيانة الخوادم ونظام التشغيل، وتوفير السعة، والتوسع التلقائي، والتسجيل. باستخدام Lambda، يمكنك تشغيل الكود لأي نوع تقريبًا من التطبيقات أو خدمات الخلفية.
إنشاء دالة AWS Lambda
لإنشاء برنامج دالة AWS Lambda، اتبع الخطوات أدناه:
- إنشاء مشروع AWS Lambda.
- اختر .NET 6 (صورة الحاوية) وانقر على زر ‘إنهاء’.
- افتح AWS Explorer في Visual Studio (عرض-> AWS Explorer).
- أضف ملف تعريف بيانات الاعتماد AWS في AWS Explorer.
- أدخل معرف مفتاح الوصول ومفتاح الوصول السري، يمكنك الحصول على هذه المفاتيح في بيانات الاعتماد الأمنية أو الاتصال بالمسؤول للحصول على ملف 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 كما في قسم تهيئة ملف Docker.
- ابدأ Docker Desktop.
- نشر إلى AWS Lambda.
- تعديل تكوين التحميل.
- انقر على زر ‘تحميل’.
- انتقل إلى AWS واختر Lambda.
- اختر دالتك الجديدة وأنشئ عنوان URL للدالة.
- اختر نوع المصادقة
- AWS_IAM - فقط المستخدمون والأدوار المعتمدون يمكنهم طلب عنوان URL لدالتك.
- NONE - لن تؤدي Lambda مصادقة IAM على الطلبات إلى عنوان URL الخاص بدالتك. سيكون عنوان URL عامًا ما لم تنفذ منطق التفويض الخاص بك في دالتك.
تهيئة ملف Docker
الخطوة التالية هي تعديل تكوين ملف Docker في المشروع.
- في ملف Docker، حدد:
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"]
ما سبق هو ملف Docker بسيط، يحتوي على التعليمات التالية:
- صورة SDK المراد استخدامها. هنا هي صورة Net 6. سيقوم Docker بتحميلها عند تشغيل البناء. يتم تحديد إصدار SDK كعلامة.
- بعد ذلك، قد تحتاج إلى تثبيت الخطوط لأن صورة SDK تحتوي على عدد قليل جدًا من الخطوط. كما يمكنك استخدام الخطوط المحلية المنسوخة إلى صورة docker.
- الدليل العامل، الذي يتم تحديده في السطر التالي.
- الأمر لنسخ كل شيء إلى الحاوية، نشر التطبيق، وتحديد نقطة الدخول.
مثال على التنفيذ
- إعدادات Postman.
- اختر أي ملف DXF أو DWG أو DGN أو DWF أو DWFX أو IFC أو STL أو DWT أو IGES أو PLT أو CF2 أو OBJ أو HPGL أو IGS أو PCL أو FBX أو PDF أو SVG.
- انقر على زر الإرسال.
مزيد من الأمثلة
لمزيد من العينات حول كيفية استخدام Aspose.CAD في Docker، راجع الأمثلة.