簡體   English   中英

跳過“如果需要安裝功能擴展”

[英]Skip "Installing function extensions if needed"

我使用maven-plugin-for-azure-functions創建一個帶有自定義觸發器綁定的 Java 函數應用程序。 自定義觸發器由另一個 .Net 項目創建,並通過 Azure Devops Artifacts 源作為通用包發布其工件。

我使用自定義觸發器作為通用包,以在我的 Java Function App 構建期間擺脫 .Net 依賴項。

當我下載包並將其內容復制到stagingDirectorymaven-plugin-for-azure-functions嘗試安裝一些擴展。

[INFO] Step 8 of 8: Installing function extensions if needed
...
[INFO] Function extension installation done.

步驟創建extensions.csproj有一些默認的擴展和覆蓋我的自定義擴展的文件。 我試圖刪除PackageReference元素,但它會在每次package運行時恢復。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <WarningsAsErrors></WarningsAsErrors>
    <DefaultItemExcludes>**</DefaultItemExcludes>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventGrid" Version="2.1.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.1.3" />
  </ItemGroup>
</Project>

如何禁用功能擴展安裝

我找到了一些解決插件隱式擴展安裝的方法。

  1. prepare-package階段,我用一些虛擬文件替換了host.json ,這會抑制安裝過程。

     { "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" } }

    因此插件會跳過擴展安裝。

     [INFO] Step 8 of 8: Installing function extensions if needed [INFO] Extension bundle specified, skip install extension [INFO] Successfully built Azure Functions.
  2. 我把通用包下載的腳本移到了package階段,在插件之后執行。 該腳本也將還原host.json通過移除extensionBundle財產和副本歸還的文件到stagingDirectory

生成的存檔最終包含通用包的bin文件夾和正確的host.json

pom.xml添加skipInstallExtensions以避免在mvn package運行步驟。 檢查下面的示例:

<plugin>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-functions-maven-plugin</artifactId>
    <version>1.13.0-SNAPSHOT</version>
    <configuration>
        <!-- potential configuration property -->
        <skipInstallExtensions>true</skipInstallExtensions>
    </configuration>
</plugin>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM