morph_project.ymlは、Morphのフレームワークを実行時に使用される設定ファイルです。Morphのプロジェクトを立ち上げると自動的にデフォルトの値が設定されたファイルが作成されます。

# connection
default_connection: MORPH_BUILTIN_DB

# src directory
source_paths:
- src

# output paths where the result of the execution is saved
output_paths:
- /tmp/morph/{name}/{run_id}{ext()}

# result cache(seconds)
result_cache_ttl: 0

# Scheduled Jobs
scheduled_jobs:
    function_name_1:
        schedules:
        - cron: "cron(0 0 * * 1,3,5)"
            is_enabled: true
            timezone: "Asia/Tokyo"
            variables:
                priority: "high"
                retry: 3
        - cron: "cron(0 12 * * 2)"
            is_enabled: false
            timezone: "UTC"
            variables:
                notify: true
                email: "alert@example.com"
    function_name_2:
        schedules:
        - cron: "cron(0 18 * * 6)"
            is_enabled: true
            timezone: "Europe/London"
            variables:
                type: "maintenance"
                duration: "2h"

Parameters

default_connection
string
default:
"MORPH_BUILTIN_DB"

デフォルトのDB接続を指定します。SQLファイルでconfig関数の中でconnectionを指定しなかった場合は自動的にこの接続が使用されます。

設定をする場合は、configのconnectionに設定と同様にコネクション名を設定してください。

予約語

以下の予約語は、コネクションを作成しなくても使用できます。

  • DUCKDB: DuckDBがデータベースエンジンとして使用されます。
  • MORPH_BUILTIN_DB: MorphのビルトインPostgreSQLがデータベースエンジンとして使用されます。(クラウド版のみ)
source_paths
string
default:
"src"

ソースパスを指定します。

ソースパスとして指定をしたディレクトリ以下にあるファイルがMorph上で実行可能なソースコードとして扱われます。

output_paths
string

データパイプラインの実行結果を保存するパスを指定します。

result_cache_ttl
integer
default:
"0"

データパイプラインの実行結果のキャッシュの有効期限を秒単位で指定します。

scheduled_jobs
object

スケジュール実行の設定を指定します。