{ "cells": [ { "cell_type": "markdown", "id": "ad40d205", "metadata": {}, "source": [ "# CDF Project Archiver\n", "\n", "This notebook demonstrates how to use `ProjectArchiver` to streamline data archival for project teardown." ] }, { "cell_type": "code", "execution_count": 1, "id": "cbcbf864", "metadata": {}, "outputs": [], "source": [ "import os\n", "from cognite.client import CogniteClient\n", "from cognite.utils.infrastructure import ProjectArchiver" ] }, { "cell_type": "code", "execution_count": 2, "id": "75872656", "metadata": {}, "outputs": [], "source": [ "# Establish client connection to CDF\n", "client = CogniteClient(\n", " client_name=os.environ.get(\"CLIENT_NAME\"),\n", " project=os.environ.get(\"PROJECT\"),\n", " api_key=os.environ.get(\"API_KEY\"),\n", ")" ] }, { "cell_type": "code", "execution_count": 3, "id": "f37ef16c", "metadata": {}, "outputs": [], "source": [ "# Create archiver instance\n", "archiver = ProjectArchiver(client)" ] }, { "cell_type": "markdown", "id": "e4940530", "metadata": {}, "source": [ "`ProjectArchiver` object has methods which usually take two optional arguments:\n", "\n", "- `dirpath`: Directory path to save the data. Defaults to `\".\"` (i.e. current directory).\n", "- `compress`: Whether to compress the saved data. Defaults to `True`." ] }, { "cell_type": "code", "execution_count": 4, "id": "7e99c9ee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Archiving ...\n", "9647 records of type have been archived\n", "\n", "Archiving ...\n", "57 records of type have been archived\n", "\n", "Archiving ...\n", "20407 records of type have been archived\n", "\n", "Archiving ...\n", "1673 records of type have been archived\n", "\n", "Archiving ...\n", "47 records of type have been archived\n", "\n", "Archiving ...\n", "1 records of type have been archived\n", "\n", "Archiving ...\n", "No data exists for type \n", "\n", "Archiving ...\n", "11120 records of type have been archived\n" ] } ], "source": [ "# Archive serializable data (i.e. modeled data)\n", "archiver.archive_assets()\n", "archiver.archive_datasets()\n", "archiver.archive_events()\n", "archiver.archive_file_metadata()\n", "archiver.archive_labels()\n", "archiver.archive_relationships()\n", "archiver.archive_sequences()\n", "archiver.archive_timeseries()" ] }, { "cell_type": "code", "execution_count": 5, "id": "ea4f9911", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Downloading 1673 files...\n", "100 files downloaded\n", "200 files downloaded\n", "300 files downloaded\n", "400 files downloaded\n", "500 files downloaded\n", "600 files downloaded\n", "700 files downloaded\n", "800 files downloaded\n", "900 files downloaded\n", "1000 files downloaded\n", "1100 files downloaded\n", "1200 files downloaded\n", "1300 files downloaded\n", "1400 files downloaded\n", "1500 files downloaded\n", "1600 files downloaded\n", "1673 files downloaded\n", "\n", "Compressing files...\n", "Files compressed\n" ] } ], "source": [ "# Archive file data\n", "archiver.archive_files()" ] }, { "cell_type": "code", "execution_count": 6, "id": "dcb8bba9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['some-project_relationships.json.gzip',\n", " 'some-project_events.json.gzip',\n", " 'some-project_datasets.json.gzip',\n", " 'some-project_file_metadata.json.gzip',\n", " 'some-project_labels.json.gzip',\n", " 'some-project_file_downloads.zip',\n", " 'some-project_assets.json.gzip',\n", " 'some-project_timeseries.json.gzip']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check results\n", "os.listdir(\".\")" ] } ], "metadata": { "kernelspec": { "display_name": "cog-dev", "language": "python", "name": "cog-dev" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 5 }