ETL

ETL stands for “Extract, Transform, Load.” You can use ETL to perform a variety of operations:

  • download and upload of Course Builder 1.3+ data
  • download and upload of datastore entities (experimental)
  • deletion of all datastore entities in a single course
  • execution of custom jobs

Each of these functions is documented within etl.py. Additionally, you can run etl.py --help for more information.

Authenticating with ETL

To use ETL, you will need to provide OAuth2 credentials. There are many ways to do this, described in the Application Default Credentials documentation. We recommend installing the Google Cloud SDK and authenticating with the command

gcloud auth login

Once this is done, ETL will use your OAuth2 credentials automatically.

You can also set up credentials using the Google Developer Console if you do not want to install the Google Cloud SDK. Refer to the Application Default Credentials documentation for more information.

I used to sign in with username and password. Can I still do that?

Sadly, no. Versions of ETL from Course Builder 1.9 and earlier used ClientLogin for authentication, which supported direct authentication to ETL with username and password. ClientLogin is now deprecated. Consequently, modern versions of ETL use OAuth2 for authentication, and you must provide credential as above.