איך להריץ את דימוי ה-Docker של Aspose.CAD בפונקציית Azure
דרישות מוקדמות
- Docker חייב להיות מותקן במערכת שלך. למידע איך להתקין את Docker ב-Windows או Mac, עיין בקישורים בחלק “ראו גם”.
- Visual Studio 2022.
- SDK של NET 6 משמש בדוגמה.
- Postman
פונקציית Azure
בדוגמה זו, אתה יוצר פונקציה פשוטה להמרה שממירה קובץ CAD וש保存 אותו כדימוי. האפליקציה יכולה להיבנות אז ב-Docker ולהתבצע בפונקציית Azure.
יצירת פונקציית Azure
כדי ליצור את תוכנית פונקציית Azure, בצע את השלבים הבאים:
- לאחר ש-Docker מותקן, ודא שהוא משתמש במיכלים של Linux (ברירת מחדל). אם יש צורך, בחר באפשרות “החלף למיכלים של Linux” מתוך תפריט שולחן עבודה של Docker.
- ב-Virtual Studio, צור פונקציית Azure NET 6.
- מידע נוסף.
- התקן את הגירסה האחרונה של Aspose.CAD מ-NuGet.
- מכיוון שהאפליקציה תרוץ על Linux, ייתכן שיהיה צורך להתקין גופנים נוספים. תוכל להעדיף את ttf-mscorefonts-installer.
- כאשר כל התלויות הנדרשות נוספו, כתוב תוכנית פשוטה שיוצרת אליפסה וש保存 אותה כדימוי:
public static class Function1
{
[FunctionName("convert")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("הפונקציה של.trigger ב-C# עיבדה בקשה.");
try
{
using (var image = (CadImage)Image.Load(req.Body))
{
var ms = new MemoryStream();
image.Save(ms, new PngOptions());
ms.Seek(0, (System.IO.SeekOrigin)SeekOrigin.Begin);
return new FileContentResult(ms.ToArray(), "application/octet-stream")
{
FileDownloadName = "Export.png"
};
}
}
catch (Exception e)
{
return new OkObjectResult(e.Message);
}
}
}
הגדרת Dockerfile
השלב הבא הוא ליצור ולהגדיר את Dockerfile בתיקייה של פרויקט השורש.
- צור את ה-Dockerfile והנח אותו ליד קובץ הפתרון של האפליקציה שלך. שמור על שם זה בלי סיומת (ברירת מחדל).
- בקובץ Dockerfile, ציין:
FROM mcr.microsoft.com/azure-functions/dotnet:4 AS base
WORKDIR /home/site/wwwroot
RUN apt-get update
RUN apt-get install -y apt-utils
RUN apt-get install -y libgdiplus
RUN apt-get install -y libc6-dev
RUN ln -s /usr/lib/libgdiplus.so/usr/lib/gdiplus.dll
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Aspose.CAD.Function/Aspose.CAD.Function.csproj", "Aspose.CAD.Function/"]
RUN dotnet restore "Aspose.CAD.Function/Aspose.CAD.Function.csproj"
COPY . .
WORKDIR "/src/Aspose.CAD.Function"
RUN dotnet build "Aspose.CAD.Function.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Aspose.CAD.Function.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /home/site/wwwroot
COPY --from=publish /app/publish .
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
הנ"ל הוא Dockerfile פשוט, המכיל את ההוראות הבאות:
- התמונה של ה-SDK שתשמש. כאן זו התמונה של Net 6. Docker יוריד אותה כאשר תתבצע הבנייה. הגירסה של ה-SDK מצוינת בתור תג.
- לאחר מכן, ייתכן שצריך להתקין גופנים כי התמונה של ה-SDK מכילה מאוד קומץ של גופנים. כמו כן, תוכל להשתמש בגופנים מקומיים מועתקים לתמונה של Docker.
- תיקיית העבודה, שהיא מצוינת בשורה הבאה.
- הפקודה להעתיק את כל מה שצריך לקונטיינר, לפרסם את האפליקציה ולציין את נקודת הכניסה.
Docker Hub
- התחבר ל-Docker Hub
- צור מאגר ציבורי
בניית והרצת האפליקציה ב-Docker
עכשיו האפליקציה יכולה להיבנות ולהתבצע ב-Docker. פתח את שורת הפקודה המועדפת עליך, החלף תיקיה לתיקייה שבה נמצאת האפליקציה (תיקיה שבה נמצא קובץ הפתרון וקובץ ה-Dockerfile) והרץ את הפקודה הבאה:
//דוגמה
docker build -t <שם משתמש>/<שם מאגר> .
docker build -t user/asposefunction .
בפעם הראשונה שתהריץ את הפקודה הזו, זה עלול לקחת יותר זמן כי Docker יצטרך להוריד את התמונות הנדרשות. לאחר שהפקודה הקודמת מסתיימת, הרץ את הפקודה הבאה כדי לדחוף את התמונה ל-Docker Hub:
//דוגמה
docker push <שם משתמש>/<שם מאגר>:tagname
docker push user/asposefunction:latest
Azure
- התחבר ל-Azure.
- בחר בשירותי Azure.
- בחר באפליקציית פונקציה וצור פונקציה.
- שיחזר את ההגדרות הבסיסיות כפי שמוצג בתמונה למטה.
- לחץ על ‘סקירה + צור’ -> צור.
- חכה לסיום הפריסה.
- לחץ על כפתור ‘עבור למשאב’.
- עצור את פונקציית aspose-cad-docker-example.
- עבור לתפריט מרכז הפריסה והגדר את ההגדרות המתאימות.
- שמור הגדרות
- העתק את ה-URL של Webhook מהגדרות מרכז הפריסה.
- עבור ל-Docker Hub, בחר את המאגר שלך ובחר ב-webhooks.
- הדבק את ה-‘Webhook url’ מ-Azure בתיבת ה-webhook של Docker Hub והספק שם.
- לחץ על כפתור יצירה.
- חזור לתצוגת הפונקציה Azure והפעל את הקונטיינר.
דוגמת ביצוע
- הגדרות Postman.
- בחר כל קובץ DXF, DWG, DGN, DWF, DWFX, IFC, STL, DWT, IGES, PLT, CF2, OBJ, HPGL, IGS, PCL, FBX, PDF, SVG.
- לחץ על כפתור שלח.
דוגמאות נוספות
למידע נוסף על איך תוכל להשתמש ב-Aspose.CAD ב-Docker, ראה את הדוגמאות.