> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Move data from cloud object storage to ClickHouse Cloud

> Moving data from object storage to ClickHouse Cloud

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/OHCdlXRrniGWimcZ/images/integrations/migration/object-storage-01.png?fit=max&auto=format&n=OHCdlXRrniGWimcZ&q=85&s=f23717c8c9a0e4fd3fff8a6078bb27cc" size="md" alt="Migrating Self-managed ClickHouse" width="666" height="431" data-path="images/integrations/migration/object-storage-01.png" />

If you use a Cloud Object Storage as a data lake and wish to import this data into ClickHouse Cloud,
or if your current database system is able to directly offload data into a Cloud Object Storage, then you can use one of the
table functions for migrating data stored in Cloud Object Storage into a ClickHouse Cloud table:

* [s3](/reference/functions/table-functions/s3) or [s3Cluster](/reference/functions/table-functions/s3Cluster)
* [gcs](/reference/functions/table-functions/gcs)
* [azureBlobStorage](/reference/functions/table-functions/azureBlobStorage)

If your current database system isn't able to directly offload data into a Cloud Object Storage, you could use a [third-party ETL/ELT tool](/get-started/migrate/other-methods/etl-tool-to-clickhouse) or [clickhouse-local](/get-started/migrate/other-methods/clickhouse-local-etl) for moving data
from you current database system to Cloud Object Storage, in order to migrate that data in a second step into a ClickHouse Cloud table.

Although this is a two steps process (offload data into a Cloud Object Storage, then load into ClickHouse), the advantage is that this
scales to petabytes thanks to a [solid ClickHouse Cloud](https://clickhouse.com/blog/getting-data-into-clickhouse-part-3-s3) support of highly-parallel reads from Cloud Object Storage.
Also you can leverage sophisticated and compressed formats like [Parquet](/reference/formats/Parquet/Parquet).

There is a [blog article](https://clickhouse.com/blog/getting-data-into-clickhouse-part-3-s3) with concrete code examples showing how you can get data into ClickHouse Cloud using S3.
