设置 Java 和 Scala 环境以使用遥测类¶
您可以构建和封装使用 com.snowflake.telemetry.Telemetry
类的处理程序代码,然后在暂存区上引用相应处理程序。可通过 Maven 和存档文件获取遥测库,该 Maven 和存档文件可从 Snowflake 开发者网站中的 驱动程序和库页面 (https://developers.snowflake.com/drivers-and-libraries/) 下载。
如果您使用 Maven 开发 Java 或 Scala 中的函数或过程处理程序,则可以构建包含代码的 JAR 文件:
在项目的 pom.xml 文件中,添加对
com.snowflake:telemetry
包的依赖关系:<dependency> <groupId>com.snowflake</groupId> <artifactId>telemetry</artifactId> <version>0.01</version> </dependency>
从您构建的
telemetry
文件中排除 JAR 包,因为它已经包含在 Snowflake 中。在项目目录中,创建一个名为
assembly/
的子目录。在该目录中,创建一个程序集描述符文件,该文件指定要在 JAR 文件中包含依赖关系。
例如,请参阅 Jar 依赖关系 (https://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies)。
在程序集描述符中,添加一个
<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>
有关程序集描述符中元素的信息,请参阅 程序集描述符格式 (https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html)。
在 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>