如何在 Google Cloud 中運行 IronPDF for Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

注意:我們尚未完全測試與 Google Cloud 的支援,但如果您想嘗試,我們有一些 所需設定.

重要:必要設定

  • Zip 部署不受支持,因为 IronPDF 需要在运行时执行二进制文件。
  • 預設的 Cloud Function Docker 映像檔因為缺少 Chrome 正確運行所需的必要套件而無法工作。 如需更多資訊,請參閱Google Cloud 系統套件.
  • 請使用自訂的 Dockerfile 並安裝所有所需的套件。 在我們的內容中進一步了解這一點Linux 部署指南.
  • 在您的項目中包含 ironpdf-engine-linux-x64 依賴性:(更改版本號至最新)
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf-engine-linux-x64</artifactId>
        <version>2022.xx.x</version>
    </dependency>
XML
  • 此插件可能是必需的:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.4</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>

                <!--  required for Docker-->
                <configuration>
                    <transformers>
                        <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                    </transformers>
                </configuration>

            </execution>
        </executions>
    </plugin>
XML
  • 這些依賴項可能是必需的:
    <dependency>
        <groupId>io.perfmark</groupId>
        <artifactId>perfmark-api</artifactId>
        <version>0.26.0</version>
    </dependency>

    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-okhttp</artifactId>
        <version>1.50.2</version>
    </dependency>

    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
        <version>1.50.2</version>
    </dependency>
XML
  • timeout 設定為 330 秒,以便應對啟動緩慢。
  • memory size 設定至少為 2048 MB
  • EphemeralStorage Size 設定為至少 1024 MB
  • 在某些環境中,您可能需要指向一個 IronPdfEngineWorkingDirectory 並為其設置執行權限:
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
JAVA
    RUN chmod 777 /tmp/