snowflake.core.iceberg_table.IcebergTable¶
- class snowflake.core.iceberg_table.IcebergTable(*, name: Annotated[str, Strict(strict=True)], comment: Annotated[str, Strict(strict=True)] | None = None, change_tracking: Annotated[bool, Strict(strict=True)] | None = None, max_data_extension_time_in_days: Annotated[int, Strict(strict=True)] | None = None, external_volume: Annotated[str, Strict(strict=True)] | None = None, data_retention_time_in_days: Annotated[int, Strict(strict=True)] | None = None, catalog_sync: Annotated[str, Strict(strict=True)] | None = None, catalog: Annotated[str, Strict(strict=True)] | None = None, storage_serialization_policy: Annotated[str, Strict(strict=True)] | None = None, created_on: datetime | None = None, database_name: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True)])] | None = None, schema_name: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True)])] | None = None, owner: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True)])] | None = None, owner_role_type: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=True)])] | None = None, iceberg_table_type: Annotated[str, Strict(strict=True)] | None = None, catalog_table_name: Annotated[str, Strict(strict=True)] | None = None, catalog_namespace: Annotated[str, Strict(strict=True)] | None = None, can_write_metadata: Annotated[str, Strict(strict=True)] | None = None, cluster_by: List[Annotated[str, Strict(strict=True)]] | None = None, columns: List[IcebergTableColumn] | None = None, base_location: Annotated[str, Strict(strict=True)] | None = None, replace_invalid_characters: Annotated[bool, Strict(strict=True)] | None = None, auto_refresh: Annotated[bool, Strict(strict=True)] | None = None, metadata_file_path: Annotated[str, Strict(strict=True)] | None = None, constraints: List[Constraint] | None = None)¶
Bases:
BaseModel
A model object representing the IcebergTable resource.
Constructs an object of type IcebergTable with the provided properties.
- Parameters:
name (str) – Name of the iceberg table
comment (str, optional) – user comment associated to an object in the dictionary
change_tracking (bool, optional) – True if change tracking is enabled, allowing streams and CHANGES to be used on the entity.
max_data_extension_time_in_days (int, optional) – Maximum number of days to extend data retention beyond the retention period to prevent a stream becoming stale.
external_volume (str, optional) – Name of an external volume that will be used for persisted Iceberg metadata and data files.
data_retention_time_in_days (int, optional) – number of days to retain the old version of deleted/updated data
catalog_sync (str, optional) – Name of the catalog integration to sync this table
catalog (str, optional) – Name of the catalog integration to use for iceberg tables
storage_serialization_policy (str, optional) – Storage serialization policy used for managed Iceberg table. This include encodings and compressions
created_on (datetime, optional) – Date and time when the iceberg table was created.
database_name (str, optional) – Database in which the iceberg table is stored
schema_name (str, optional) – Schema in which the iceberg table is stored
owner (str, optional) – Role that owns the iceberg table
owner_role_type (str, optional) – The type of role that owns the iceberg table
iceberg_table_type (str, optional) – Type of Iceberg table. UNMANAGED if the table is not managed by Snowflake. NOT ICEBERG otherwise.
catalog_table_name (str, optional) – Name of the table as recognized by the catalog.
catalog_namespace (str, optional) – Catalog namespace for the table. The namespace defined when the table was created. Otherwise, the default namespace associated with the catalog integration used by the table. If you’re syncing the table to Snowflake Open Catalog, the default is null.
can_write_metadata (str, optional) – Signifies whether Snowflake can write metadata to the location specified by the file_path.
cluster_by (List[str], optional) – Specifies one or more columns or column expressions in the table as the clustering key.
columns (List[IcebergTableColumn], optional)
base_location (str, optional) – The path to a directory where Snowflake can write data and metadata files for the table.
replace_invalid_characters (bool, optional) – Specifies whether to replace invalid characters in the column names
auto_refresh (bool, optional) – Specifies whether to automatically refresh the table metadata
metadata_file_path (str, optional) – Specifies the relative path of the Iceberg metadata file to use for column definitions.
constraints (List[Constraint], optional)
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Methods
- classmethod from_dict(obj: dict) IcebergTable ¶
Create an instance of IcebergTable from a dict.
- classmethod from_json(json_str: str) IcebergTable ¶
Create an instance of IcebergTable from a JSON string.
- to_dict(hide_readonly_properties: bool = False) dict[str, Any] ¶
Returns the dictionary representation of the model using alias.
- to_dict_without_readonly_properties() dict[str, Any] ¶
Return the dictionary representation of the model without readonly properties.
- to_json() str ¶
Returns the JSON representation of the model using alias.
- to_str() str ¶
Returns the string representation of the model using alias.