Jak spustit obraz Aspose.CAD Docker v Azure Function
Předpoklady
- Na vašem systému musí být nainstalován Docker. Pokud potřebujete informace o tom, jak nainstalovat Docker na Windows nebo Mac, podívejte se na odkazy v sekci „Viz také“.
- Visual Studio 2022.
- V příkladu je použito NET 6 SDK.
- Postman
Azure Function
V tomto příkladu vytvoříte jednoduchou konverzní funkci, která převede soubor CAD a uloží ho jako obrázek. Aplikace pak může být postavena v Dockeru a spuštěna v Azure Function.
Vytvoření Azure Function
Pro vytvoření programu Azure Function postupujte podle následujících kroků:
- Jakmile je nainstalován Docker, ujistěte se, že používá kontejnery Linux (výchozí). Pokud je to nutné, vyberte možnost „Přepnout na kontejnery Linux“ z nabídky programu Docker Desktop.
- V programu Visual Studio vytvořte Azure Function pro NET 6.
- Další informace.
- Nainstalujte nejnovější verzi Aspose.CAD z NuGet.
- Protože aplikace bude spuštěna na Linuxu, může být nutné nainstalovat další písma. Můžete upřednostňovat například „ttf-mscorefonts-installer“.
- Jakmile jsou přidány všechny potřebné závislosti, napište jednoduchý program, který vytvoří elipsu a uloží ji jako obrázek:
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("Funkce pro zpracování požadavku HTTP v jazyce C# byla spuštěna.");
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);
}
}
}
Konfigurace souboru Dockerfile
Dalším krokem je vytvoření a konfigurace souboru Dockerfile v kořenovém adresáři projektu.
- Vytvořte soubor Dockerfile a umístěte ho vedle souboru se řešením vaší aplikace. Uchovejte tento soubor bez přípony (výchozí).
- Ve souboru Dockerfile určete:
FROM mcr.microsoft.com/azure-functions/dotnet:4 JAK základ
PRACOVNÍ ADRESÁŘ /domovská stránka/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 JAK postavit
PRACOVNÍ ADRESÁŘ /src
COPY ["Aspose.CAD.Function/Aspose.CAD.Function.csproj", "Aspose.CAD.Function/"]
RUN dotnet restore "Aspose.CAD.Function/Aspose.CAD.Function.csproj"
COPY . .
PRACOVNÍ ADRESÁŘ "/src/Aspose.CAD.Function"
RUN dotnet build "Aspose.CAD.Function.csproj" -c Release -o /app/build
FROM postavit JAK zveřejnit
RUN dotnet publish "Aspose.CAD.Function.csproj" -c Release -o /app/publish
FROM základna JAK konečný
PRACOVNÍ ADRESÁŘ /domovská stránka/site/wwwroot
COPY --from=publikovat /app/publish .
ENV AzureWebJobsScriptRoot=/domovská stránka/site/wwwroot \
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
Výše uvedený je jednoduchý soubor Dockerfile, který obsahuje následující pokyny:
- Obraz SDK, který se má použít. Zde je to obraz Net 6. Docker si jej stáhne při spuštění sestavení. Verze SDK je specifikována jako značka.
- Poté můžete potřebovat nainstalovat písma, protože obraz 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 uveden v dalším řádku.
- Příkaz pro zkopírování všeho do kontejneru, publikování aplikace a specifikování vstupního bodu.
Docker Hub
- Přihlaste se do Docker Hub.
- Vytvořte veřejný Repozitář
Sestavení a Spuštění Aplikace v Dockeru
Nyní může být aplikace sestavena a spuštěna v Dockeru. Otevřete oblíbený příkazový řádek, změňte adresář na složku s aplikací (složka, kde jsou umístěny soubor se řešením a Dockerfile) a spusťte následující příkaz:
//příklad
docker build -t <uživatelské jméno>/<název repozitáře> .
docker build -t uzivatel/asposefunction .
První spuštění tohoto příkazu může trvat déle, protože Docker potřebuje stáhnout nezbytné obrazy. Po dokončení předchozího příkazu spusťte následující příkaz k odeslání obrazu do Docker Hubu:
//příklad
docker push <uživatelské jméno>/<název repozitáře>:tagname
docker push uzivatel/asposefunction:latest
Azure
- Přihlaste se do Azure.
- Vyberte služby služby Azure.
- Vyberte funkci App a vytvořte funkci.
- Zopakujte základní nastavení jako na následujícím obrázku.
- Klikněte na „Zkontrolovat + vytvořit“ -> Vytvořit.
- Počkejte na dokončení nasazení.
- Klikněte na tlačítko „Přejít na zdroj“.br>
- Zastavte funkci aspose-cad-docker-example.
- Přejděte do nabídky centra nasazení a proveďte příslušná nastavení.
- Uložte nastavení
- Zkopírujte odkaz Webhooku ze nastavení centra nasazení.
- Přejděte na Docker Hub, vyberte váš repozitář a vyberte webové háčky.
- Vložte „Odkaz Webhook“ z Azure do odkazu webového háčku Docker Hub a nastavte jméno.
- Klikněte na tlačítko vytvořit.
- Vraťte se do přehledu Azure funkce a spusťte kontejner.
Příklad spuštění
- Nastavení 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 vzorů, jak můžete použít Aspose.CAD v Dockeru, podívejte se na příklady.
Viz také
- Instalace Docker Desktop na Windows
- Instalace Docker Desktop na Mac
- Visual Studio 2022, NET 6 SDK
- Možnost „Přepnout na kontejnery Linux“ (Switch to Linux containers)
- Další informace o .NET Core SDK