File
laktory.models.resources.databricks.File
¤
Bases: RenderableFileMixin, FileBase
Databricks Unity Catalog Volume File
File uploaded to a Unity Catalog volume. Files can also be declared
directly in the files of a Volume, with dirpath relative to the
volume root.
Examples:
import io
from laktory import models
file_yaml = '''
source: ./data/stock_prices/prices.json
dirpath: /Volumes/dev/sources/landing/stock_prices/
'''
file = models.resources.databricks.File.model_validate_yaml(io.StringIO(file_yaml))
print(file.path)
# > /Volumes/dev/sources/landing/stock_prices/prices.json
References
| BASE | DESCRIPTION |
|---|---|
content_base64
|
Contents in base 64 format. Conflicts with
TYPE:
|
md5
|
TYPE:
|
remote_file_modified
|
TYPE:
|
| LAKTORY | DESCRIPTION |
|---|---|
dirpath
|
Volume directory in which the file is deployed, e.g.
TYPE:
|
path_
|
Volume filepath for the file, e.g.
TYPE:
|
render_vars
|
If
TYPE:
|
source_
|
The full absolute path to the file. Conflicts with
TYPE:
|
| METHOD | DESCRIPTION |
|---|---|
build |
Render |
check_staged |
Raise a clear error if this resource is configured for variable |
| ATTRIBUTE | DESCRIPTION |
|---|---|
filename |
File filename
TYPE:
|
filename
property
¤
File filename
build(vars=None)
¤
Render ${vars.x}/${{ expr }} placeholders in the file content
and stage the result under settings.build_root, if render_vars
is True. No-op otherwise.
Source code in laktory/models/resources/databricks/file.py
86 87 88 89 90 91 92 93 | |
check_staged()
¤
Raise a clear error if this resource is configured for variable
rendering but its staged copy hasn't been written yet (i.e.
.build() hasn't run). Guards against programmatic use that
bypasses Stack.build() (the normal CLI flow always calls it
before dumping resources).
Source code in laktory/models/resources/databricks/_renderablefile.py
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | |