Cómo ejecutar IronPDF for Java en Google Cloud

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

Nota: No hemos probado completamente el soporte con Google Cloud, pero si deseas intentarlo, tenemos algunas Configuraciones Requeridas.

Importante: Ajustes necesarios

  • No se admite la implementación Zip, ya que IronPDF requiere la ejecución de binarios en tiempo de ejecución.
  • Las imágenes Docker predeterminadas de Cloud Function no funcionan porque carecen de los paquetes necesarios para que Chrome se ejecute correctamente. Para más información, consulte los Paquetes del Sistema de Google Cloud.
  • Utilice un archivo Docker personalizado e instale todos los paquetes necesarios. Obtenga más información sobre esto en nuestra Guía de Despliegue en Linux.
  • Incluya la dependencia ironpdf-engine-linux-x64 en su proyecto: (cambie el número de versión a la más reciente)
    <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
  • Este complemento puede ser necesario:
    <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
  • Estas dependencias pueden ser necesarias:
    <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
  • Configure timeout a 330 seconds debido al inicio lento.
  • Configure el tamaño de memoria a al menos 2048 MB.
  • Configure EphemeralStorage Size a al menos 1024 MB.
  • En algunos entornos, es posible que necesite señalar un IronPdfEngineWorkingDirectory y establecer permisos de ejecución para él:
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
JAVA
    RUN chmod 777 /tmp/