Empacotamento do código do manipulador Java ou Scala com Maven

Se você estiver usando Maven para construir e empacotar seu código, você pode usar o plugin Maven Assembly para criar um arquivo JAR que contenha todas as dependências.

Depois de ter um arquivo JAR, você pode carregar o arquivo em um estágio do Snowflake e, em seguida, fazer referência a ele em uma instrução IMPORTS ao criar uma função ou procedimento. Para obter mais informações sobre o upload de arquivos JAR, consulte Disponibilização das dependências para seus códigos. Para obter mais informações sobre como escolher se o código deve estar inline ou em um estágio, consulte Como manter o código do manipulador inline ou em um estágio.

Para criar um arquivo JAR com seu código do manipulador, siga as etapas abaixo.

  1. No diretório para seu projeto (por exemplo, hello-snowpark/), crie um subdiretório chamado assembly/.

  2. Nesse diretório, crie um arquivo descritor de assembly que especifica que você deseja incluir dependências em seu arquivo JAR.

    Para um exemplo, consulte jar-with-dependencies.

  3. Se o seu projeto exigir a biblioteca Snowpark, exclua seu arquivo JAR do arquivo de saída, pois a biblioteca já está incluída no Snowflake.

    No descritor de assembly, adicione um elemento <dependencySet> que exclui a biblioteca do Snowpark de seu arquivo JAR.

    Por exemplo:

    <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
      <id>jar-with-dependencies</id>
      <formats>
         <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <dependencySets>
        <dependencySet>
          <outputDirectory>/</outputDirectory>
          <useProjectArtifact>false</useProjectArtifact>
          <unpack>true</unpack>
          <scope>provided</scope>
          <excludes>
            <exclude>com.snowflake:snowpark</exclude>
          </excludes>
        </dependencySet>
      </dependencySets>
    </assembly>
    
    Copy

    Para obter mais informações sobre os elementos de um descritor de assembly, consulte Formato do descritor de assembly.

  4. Em seu arquivo pom.xml, em <project> » <build> » <plugins>, adicione um elemento <plugin> para o plugin Maven Assembly.

    Além disso, em <configuration> » <descriptors>, adicione um <descriptor> que aponte para o arquivo do descritor de assembly que você criou nas etapas anteriores.

    Por exemplo:

    <project>
      [...]
      <build>
        [...]
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/jar-with-dependencies.xml</descriptor>
              </descriptors>
            </configuration>
            [...]
          </plugin>
          [...]
        </plugins>
        [...]
      </build>
      [...]
    </project>
    
    Copy