プロジェクト定義ファイルについて

StreamlitまたはSnowparkアプリケーションを開発する場合、Pythonファイルやストアドプロシージャなど、複数のファイルやオブジェクトを扱うことがよくあります。これを明確かつ簡潔に整理することは、開発をスムーズに進める上で非常に重要です。そのため、 Snowflake CLI は プロジェクト定義ファイル というコンセプトを使用しています。

プロジェクト定義ファイル(通常は snowflake.yml という名前)は、作業中のプロジェクトタイプに関する情報と、開発中のSnowflakeオブジェクトに関する情報を含むファイルです。次の snowflake.yml の例は、 UDF とストアドプロシージャを含むSnowparkプロジェクトを示しています。

definition_version: 2
entities:
  test_function:
    type: "function"
    stage: "dev_deployment"
    artifacts: ["app/"]
    handler: "functions.hello_function"
    signature: ""
    returns: string

  hello_procedure:
    type: "procedure"
    stage: "dev_deployment"
    artifacts: ["app/"]
    handler: "procedures.hello_procedure"
    signature:
      - name: "name"
        type: "string"
    returns: string
Copy

プロジェクト定義のプロパティ

次の表は、プロジェクト定義のプロパティについて説明しています。

共通プロジェクトの定義プロパティ

プロパティ

定義

definition_version

required, int

プロジェクト定義スキーマのバージョン。現在は2です。

エンティティ

optional, string

プロシージャ、ファンクションなどのエンティティ定義のリスト。詳細については、 エンティティの指定 をご参照ください。

env

optional, string sequence

プロジェクト・テンプレートで使用されるデフォルト環境仕様のリスト。詳細については、 プロジェクト定義ファイルのテンプレートの作成 をご参照ください。

ミキシンズ

optional, string sequence

エンティティ・プロパティの共通値のリスト。詳細については、 プロジェクト・ミキシン をご参照ください。

各プロジェクトには、構築する内容に関する特定の情報が必要です。 Snowflake CLI は現在、次のSnowflakeドメインのエンティティ定義をサポートしています。

注意

プロジェクトディレクトリ内のファイルは Snowflake CLI によって処理され、他の snow を実行するときにSnowflakeにアップロードされる可能性があります。プロジェクトディレクトリのファイル内に機密情報を保存する場合は、注意が必要です。