如何在 Google 云中运行 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>
    <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>
    <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>
    <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/"));
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
JAVA
    RUN chmod 777 /tmp/