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.