テレメトリクラスを使用するためのJavaおよびScala環境の設定

com.snowflake.telemetry.Telemetry クラスを使用するハンドラーコードを構築してパッケージ化し、ステージ上でハンドラーを参照できます。テレメトリライブラリは、Mavenを通じて、またSnowflakeデベロッパーサイトの ドライバーおよびライブラリのページ からダウンロードできるアーカイブファイルを通じて利用できます。

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 パッケージはすでにSnowflakeに含まれているため、構築する JAR ファイルから除外します。

    1. プロジェクトのディレクトリに、 assembly/ という名前のサブディレクトリを作成します。

    2. そのディレクトリに、 JAR ファイルに依存関係を含めることを指定するアセンブリ記述子ファイルを作成します。

      例については、 jar-with-dependencies をご参照ください。

    3. アセンブリ記述子で、 JAR ファイルからSnowparkライブラリを除外する <dependentencySet> 要素を追加します。例:

      <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

      アセンブリ記述子の要素については、 アセンブリ記述子の形式 をご参照ください。

  3. pom.xmlファイルの <プロジェクト> » <ビルド> » <プラグイン> の下に、Mavenアセンブリプラグインの <プラグイン> 要素を追加します。

    さらに、 <構成> » <記述子> の下に、前のステップで作成したアセンブリ記述子ファイルをポイントする <記述子> を追加します。

    例:

    <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