设置 Java 和 Scala 环境以使用遥测类

您可以构建和封装使用 com.snowflake.telemetry.Telemetry 类的处理程序代码,然后在暂存区上引用相应处理程序。可通过 Maven 和存档文件获取遥测库,该 Maven 和存档文件可从 Snowflake 开发者网站中的 驱动程序和库页面 (https://developers.snowflake.com/drivers-and-libraries/) 下载。

如果您使用 Maven 开发 Java 或 Scala 中的函数或过程处理程序,则可以构建包含代码的 JAR 文件:

  1. 在项目的 pom.xml 文件中,添加对 com.snowflake:telemetry 包的依赖关系:

    <dependency>
      <groupId>com.snowflake</groupId>
      <artifactId>telemetry</artifactId>
      <version>0.01</version>
    </dependency>
    
    Copy
  2. 从您构建的 telemetry 文件中排除 JAR 包,因为它已经包含在 Snowflake 中。

    1. 在项目目录中,创建一个名为 assembly/ 的子目录。

    2. 在该目录中,创建一个程序集描述符文件,该文件指定要在 JAR 文件中包含依赖关系。

      例如,请参阅 Jar 依赖关系 (https://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies)。

    3. 在程序集描述符中,添加一个 <dependencySet> 元素,该元素从 JAR 文件中排除 Snowpark 库。例如:

      <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>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
            <excludes>
              <exclude>com.snowflake:telemetry</exclude>
            </excludes>
          </dependencySet>
        </dependencySets>
      </assembly>
      
      Copy

      有关程序集描述符中元素的信息,请参阅 程序集描述符格式 (https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html)。

  3. 在 pom.xml 文件中的 <project> » <build>`|ra| :code:`<plugins> 下,为 Maven Assembly 插件添加一个 <plugin> 元素。

    此外,在 <configuration> » <descriptors> 下,添加一个 <descriptor>,它指向您在前面步骤中创建的程序集描述符文件。

    例如:

    <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
语言: 中文