From dc1235f81c0269942323321bc7e6a0b4c87b2e53 Mon Sep 17 00:00:00 2001 From: jhickszen Date: Mon, 24 Jan 2022 23:40:37 -0500 Subject: [PATCH 01/19] clean up azure dir --- content/Azure/01_intro_to_cloud_console.ipynb | 10 +- content/Azure/04_intro_to_cli.ipynb | 296 +---- .../Azure/05_intro_to_cloud_storage_cli.ipynb | 167 ++- content/Azure/06_running_analysis.ipynb | 1009 ++--------------- content/Azure/08_cleaning_up_resources.ipynb | 43 +- content/Azure/glossary.ipynb | 34 + content/Azure/intro_to_compute_cli.ipynb | 260 ----- content/_toc.yml | 1 + 8 files changed, 327 insertions(+), 1493 deletions(-) create mode 100644 content/Azure/glossary.ipynb delete mode 100644 content/Azure/intro_to_compute_cli.ipynb diff --git a/content/Azure/01_intro_to_cloud_console.ipynb b/content/Azure/01_intro_to_cloud_console.ipynb index d3e30aa..ccdbac9 100644 --- a/content/Azure/01_intro_to_cloud_console.ipynb +++ b/content/Azure/01_intro_to_cloud_console.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "b6f03192", + "id": "b3a74289", "metadata": {}, "source": [ "# Introduction to the Azure Cloud Console\n", @@ -28,7 +28,7 @@ }, { "cell_type": "markdown", - "id": "abb35991", + "id": "926df543", "metadata": {}, "source": [ "## The Who, What, and Where of the Cloud\n", @@ -103,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "ed7e581f", + "id": "b474c54d", "metadata": {}, "source": [ "## Services\n", @@ -112,7 +112,7 @@ "\n", "The Navigation Menu (often called the hamburger) is used to navigate to the various products, which are also sometimes called services.\n", "\n", - "![hamburger-navigation](img/hamburger-navigation.png)\n", + "![hamburger-navigation](images/hamburger-navigation.png)\n", "\n", " * Click on a product to navigate the product page\n", " * You can pin frequently used items on the top of this page by clicking on the pin icon. \n", @@ -130,7 +130,7 @@ }, { "cell_type": "markdown", - "id": "4537d270", + "id": "a25ba0f1", "metadata": {}, "source": [ "## Everything Else\n", diff --git a/content/Azure/04_intro_to_cli.ipynb b/content/Azure/04_intro_to_cli.ipynb index 09f62d7..f0b0cea 100644 --- a/content/Azure/04_intro_to_cli.ipynb +++ b/content/Azure/04_intro_to_cli.ipynb @@ -2,18 +2,18 @@ "cells": [ { "cell_type": "markdown", - "id": "f5be7a6c", + "id": "0fb9d517", "metadata": {}, "source": [ "# Introduction to the Azure CLI\n", "\n", "Learner Questions\n", " * How do I use the Cloud CLI?\n", - " * How do I use `az`?\n", + " * How do I use az?\n", "\n", "Learning Objectives\n", " * Find and use the \"Cloud Shell\" in the web console\n", - " * Use basic cloud CLI commands (`az`)\n", + " * Use basic cloud CLI commands (az)\n", " * Determine basic user/account settings.\n", " * Use environment variables for configuration - No hard coding\n", " * Understand the importance of using variables for configuration.\n", @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "b609b6ed", + "id": "7ec8b5bf", "metadata": {}, "source": [ "## Cloud Automation\n", @@ -38,7 +38,7 @@ }, { "cell_type": "markdown", - "id": "e8cda207", + "id": "68bd896e", "metadata": {}, "source": [ "## Open the Cloud Shell\n", @@ -48,13 +48,13 @@ "To use the Azure Cloud Shell:\n", " \n", " * Open up a Cloud Shell by clicking on the cloud shell icon (greater than sign followed by underscore) on the blue bar just to the right of search window. On first launch, Cloud Shell prompts to create a resource group, storage account, and Azure Files share on your behalf. This will open a cloud shell at the bottum of your browser window. You can choose a bash shell or Power shell.\n", - " * If you want a new cloud shell in a different window, click the new cloud shell button (file icon with '+' in upper right corner) on the cloud shell menu bar. This will create a new cloud shell window tab. **Note:** you may need to allow popups or enable popups for this website depending on the browser you use. You can also pull up the tab to increase the shell screen size.\n", + " * If you want a new cloud shell in a different window, click the new cloud shell button (file icon with + in upper right corner) on the cloud shell menu bar. This will create a new cloud shell window tab. **Note:** you may need to allow popups or enable popups for this website depending on the browser you use. You can also pull up the tab to increase the shell screen size.\n", " * To quit cloud shell type exit at the prompt." ] }, { "cell_type": "markdown", - "id": "1799e8dd", + "id": "d9583740", "metadata": {}, "source": [ "## Exercise\n", @@ -67,62 +67,37 @@ }, { "cell_type": "markdown", - "id": "da18d22e", + "id": "366108a9", "metadata": {}, "source": [ "## Basic Cloud Commands\n", "\n", "The cloud can also be controlled using a command line interface (CLI) or a programming language such as Python. Collectively these tools interact with the cloud over a Application Programming Interface (API) and this capability forms the basis of the cloud, the ability to control infrastructure programmatically. \n", "\n", - "For information about installing the Azure CLI for your OS see: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli. If you are on your own OS you will need to login via `az login`.\n", + "For information about installing the Azure CLI for your OS see: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli. If you are on your own OS you will need to login via az login.\n", "\n", - "The `az` command is used to control most aspects of Azure Cloud." + "The az command is used to control most aspects of Azure Cloud." ] }, { "cell_type": "markdown", - "id": "f7b90dba", + "id": "a68f3190", "metadata": {}, "source": [ "Now let us look at your account information (your details will be different). " ] }, { - "cell_type": "code", - "execution_count": 1, - "id": "27170c24", + "cell_type": "markdown", + "id": "c61af998", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\n", - " {\n", - " \"cloudName\": \"AzureCloud\",\n", - " \"id\": \"975b9702-e6b9-47b5-94a5-ca5f2b110ca8\",\n", - " \"isDefault\": true,\n", - " \"name\": \"class-dev\",\n", - " \"state\": \"Enabled\",\n", - " \"tenantId\": \"78ea4b46-9f08-4ef5-949b-2dae057c55d8\",\n", - " \"user\": {\n", - " \"assignedIdentityInfo\": \"MSI\",\n", - " \"name\": \"systemAssignedIdentity\",\n", - " \"type\": \"servicePrincipal\"\n", - " }\n", - " }\n", - "]\n", - "\u001b[0m" - ] - } - ], "source": [ - "az account list" + "# az account list" ] }, { "cell_type": "markdown", - "id": "e8feb7f2", + "id": "8b51b583", "metadata": {}, "source": [ "## Environment Variables\n", @@ -133,36 +108,24 @@ ] }, { - "cell_type": "code", - "execution_count": 2, - "id": "b8f74fe9-0943-4bd9-a91b-da09c001f8a1", + "cell_type": "markdown", + "id": "a67e26c4", "metadata": {}, - "outputs": [], "source": [ "TEST=1" ] }, { - "cell_type": "code", - "execution_count": 3, - "id": "b937f6c7-3697-4bc0-8e32-da0b0faec593", + "cell_type": "markdown", + "id": "2af53bf6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n" - ] - } - ], "source": [ "echo $TEST" ] }, { "cell_type": "markdown", - "id": "78fe7013-a5ae-498f-aeab-ba1f3c710de1", + "id": "5d784f5c", "metadata": {}, "source": [ "Although we do not always need to, we should always enclose shell variables in double quotes and enclose the variable name in curly braces (funny things may happen otherwise). In most cases it is easier to do this every time than try to figure out when it is possible to use the short form. We only use the short form here when it is used frequently and known to always work.\n", @@ -171,108 +134,68 @@ ] }, { - "cell_type": "code", - "execution_count": 4, - "id": "bae0587c-0379-40e3-9c31-16ba5505487a", + "cell_type": "markdown", + "id": "f70908e5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "learner\n" - ] - } - ], "source": [ "echo \"${USER}\"" ] }, { - "cell_type": "code", - "execution_count": 5, - "id": "52b4add5-0d18-4faf-a304-b7e0ee8ba82e", + "cell_type": "markdown", + "id": "6c5bfd86", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "essentials\n" - ] - } - ], "source": [ "echo \"${HOSTNAME}\"" ] }, { "cell_type": "markdown", - "id": "0be0c5dc-8f65-4749-a56b-f47bbdeb6106", + "id": "0722637d", "metadata": {}, "source": [ - "If you are using the cloudshell then your hostname will look similar to `cc-2510c465-7677c9dc4c-fcl8k`" + "If you are using the cloudshell then your hostname will look similar to cc-2510c465-7677c9dc4c-fcl8k" ] }, { "cell_type": "markdown", - "id": "ef895f38-ad16-4f2d-aa18-ec913732dd69", + "id": "e07f6919", "metadata": {}, "source": [ "We can also use the output of commands to set string values." ] }, { - "cell_type": "code", - "execution_count": 6, - "id": "776806e4-209f-45fa-b14e-f771f5d5089d", + "cell_type": "markdown", + "id": "a90996d2", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Thu Dec 2 17:16:22 UTC 2021\n" - ] - } - ], "source": [ - "date" + "# date" ] }, { - "cell_type": "code", - "execution_count": 7, - "id": "560fde63-0eb8-4c52-9787-4debfe35ec23", + "cell_type": "markdown", + "id": "20a5bdaa", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Date: Thu Dec 2 17:16:23 UTC 2021\n" - ] - } - ], "source": [ - "echo \"Date: $(date)\"" + "# echo \"Date: $(date)\"" ] }, { "cell_type": "markdown", - "id": "49c2302b", + "id": "108b3e76", "metadata": { "tags": [] }, "source": [ - "First, as with all Azure work we need to create a Resource Group (RG). A resource group is a logical container into which Azure resources are deployed and managed. Now let us combine all of the above to create a `RG` but first let us set a RG name and region env variable so we do not need to use the actual value in future commands.\n", + "First, as with all Azure work we need to create a Resource Group (RG). A resource group is a logical container into which Azure resources are deployed and managed. Now let us combine all of the above to create a RG but first let us set a RG name and region env variable so we do not need to use the actual value in future commands.\n", "\n", "Example:" ] }, { "cell_type": "markdown", - "id": "1f73131a", + "id": "1c87694c", "metadata": {}, "source": [ "Define some enviroment variables." @@ -280,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "id": "d00a37e4", "metadata": {}, "outputs": [], @@ -290,175 +213,68 @@ ] }, { - "cell_type": "code", - "execution_count": 9, - "id": "d7988c45", + "cell_type": "markdown", + "id": "6b5db328", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rg-essentials\n" - ] - } - ], "source": [ - "echo $RG" + " # echo $RG" ] }, { - "cell_type": "code", - "execution_count": 13, - "id": "49f484a6", + "cell_type": "markdown", + "id": "b11e6783", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"id\": \"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/rg-essentials\",\n", - " \"location\": \"eastus\",\n", - " \"managedBy\": null,\n", - " \"name\": \"rg-essentials\",\n", - " \"properties\": {\n", - " \"provisioningState\": \"Succeeded\"\n", - " },\n", - " \"tags\": null,\n", - " \"type\": \"Microsoft.Resources/resourceGroups\"\n", - "}\n", - "\u001b[0m" - ] - } - ], "source": [ - "az group create --name $RG --location $REGION" + "# az group create --name $RG --location $REGION" ] }, { "cell_type": "markdown", - "id": "7fe71e66", + "id": "a22ac088", "metadata": {}, "source": [ - "Now use the `RG` environment variable to get information about your resource group. This information is available at any time with the following command not just at creation." + "Now use the RG environment variable to get information about your resource group. This information is available at any time with the following command not just at creation." ] }, { - "cell_type": "code", - "execution_count": 14, - "id": "31b01f78-94b1-44f0-a2af-d657058941b2", + "cell_type": "markdown", + "id": "1a7686fc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"id\": \"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/rg-essentials\",\n", - " \"location\": \"eastus\",\n", - " \"managedBy\": null,\n", - " \"name\": \"rg-essentials\",\n", - " \"properties\": {\n", - " \"provisioningState\": \"Succeeded\"\n", - " },\n", - " \"tags\": null,\n", - " \"type\": \"Microsoft.Resources/resourceGroups\"\n", - "}\n", - "\u001b[0m" - ] - } - ], "source": [ - "az group show --resource-group $RG" + "# az group show --resource-group $RG" ] }, { "cell_type": "markdown", - "id": "270e0abb-d5e9-476a-af91-060cc0ea0349", + "id": "0eb11c11", "metadata": {}, "source": [ "## Exercise\n", "FIXME:\n", " * What command shows the project number? (hint: we used it already)\n", " * What is the name of this variable? (hint: it is case sensitive)\n", - " * What command shows *just* the Project Number (hint: use `--format`)\n", - " * Set the `PROJECT_NUMBER` environment variable with the correct value. (hint: be careful with punctuation and matching punctuation)" + " * What command shows *just* the Project Number (hint: use --format)\n", + " * Set the *PROJECT_NUMBER* environment variable with the correct value. (hint: be careful with punctuation and matching punctuation)" ] }, { "cell_type": "markdown", - "id": "3b744cd4-3c7e-43f2-83ae-0ff02ec9de83", + "id": "8da1b71e", "metadata": {}, "source": [ "## Advanced Call-Out: Formating Output.\n", "\n", - "The following example shows how to output the configuration as `JSON`." + "The following example shows how to output the configuration as JSON." ] }, { - "cell_type": "code", - "execution_count": 18, - "id": "678a1735-8cad-403c-b302-639de1fb0f4b", + "cell_type": "markdown", + "id": "8e241cd0", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;39m[\n", - " \u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"id\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/cloudshell\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"location\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"centralus\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"managedBy\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"name\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"cloudshell\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"properties\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"provisioningState\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Succeeded\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"tags\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"type\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Microsoft.Resources/resourceGroups\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"id\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/rg-essentials-dev\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"location\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"centralus\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"managedBy\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"name\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"rg-essentials-dev\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"properties\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"provisioningState\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Succeeded\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"tags\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"type\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Microsoft.Resources/resourceGroups\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"id\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/NetworkWatcherRG\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"location\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"eastus\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"managedBy\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"name\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"NetworkWatcherRG\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"properties\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"provisioningState\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Succeeded\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"tags\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"type\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Microsoft.Resources/resourceGroups\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"id\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"/subscriptions/975b9702-e6b9-47b5-94a5-ca5f2b110ca8/resourceGroups/rg-essentials\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"location\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"eastus\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"managedBy\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"name\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"rg-essentials\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"properties\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"provisioningState\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Succeeded\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"tags\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;30mnull\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"type\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"Microsoft.Resources/resourceGroups\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m\n", - "\u001b[1;39m]\u001b[0m\n" - ] - } - ], "source": [ - "az group list --output json | jq" + "# az group list --output json | jq" ] } ], diff --git a/content/Azure/05_intro_to_cloud_storage_cli.ipynb b/content/Azure/05_intro_to_cloud_storage_cli.ipynb index 5451fe8..ef2660e 100644 --- a/content/Azure/05_intro_to_cloud_storage_cli.ipynb +++ b/content/Azure/05_intro_to_cloud_storage_cli.ipynb @@ -45,9 +45,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'eastus' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mRG\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_rg\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mLOCATION\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0meastus\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mBLOB_CON\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_blob_cont\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mSTGE_ACCT\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_stor_ac\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mCTR\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_stge_ctr\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'eastus' is not defined" + ] + } + ], "source": [ "RG=\"demo_rg\"\n", "LOCATION=eastus\n", @@ -64,10 +76,8 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ "az group create --name $RG --location $LOCATION" ] @@ -87,12 +97,7 @@ "metadata": {}, "outputs": [], "source": [ - "az storage account create \\\n", - " --name $STGE_ACCT \\\n", - " --resource-group $RG \\\n", - " --location $LOCATION \\\n", - " --sku Standard_ZRS \\\n", - " --encryption-services blob\n" + "az storage account create --name $STGE_ACCT --resource-group $RG --location $LOCATION --sku Standard_ZRS --encryption-services blob" ] }, { @@ -105,10 +110,8 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ "az ad signed-in-user show --query objectId -o tsv | az role assignment create \\\n", " --role \"Storage Blob Data Contributor\" \\\n", @@ -124,15 +127,10 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "az storage container create \\\n", - " --account-name $STGE_ACCT \\\n", - " --name $CTR \\\n", - " --auth-mode login" + "az storage container create --account-name $STGE_ACCT --name $CTR --auth-mode login" ] }, { @@ -165,18 +163,27 @@ "Copy demo_file to your blob." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "az storage blob upload --account-name $STGE_ACCT --container-name $CTR --name demo_file --file demo_file --auth-mode login" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the blob is there by Listing the blobs in the container. " + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "az storage blob upload \\\n", - " --account-name $STGE_ACCT \\\n", - " --container-name $CTR \\\n", - " --name demo_file \\\n", - " --file demo_file \\\n", - " --auth-mode login" + "az storage blob list --account-name $STGE_ACCT --container-name $CTR --output table --auth-mode login" ] }, { @@ -186,18 +193,43 @@ "Download the file we just uploaded." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "az storage blob download --account-name $STGE_ACCT --container-name $CTR --name demo_file --file demo_file_download file --auth-mode login" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Cloud Shell type the following command:" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "az storage blob download \\\n", - " --account-name $STGE_ACCT \\\n", - " --container-name $STGE_ACCT \\\n", - " --name demo_file \\\n", - " --file ~/destination/path/for/file \\\n", - " --auth-mode login" + "ls demo_file_download" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the downloaded file is the same file we uploaded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "diff demo_file demo_file_download" ] }, { @@ -211,6 +243,75 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "We will clean up the resources in this lesson in the reverse order that we created them. \n", + "\n", + "## Blob\n", + "Delete a blob" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "az storage blob delete --account-name $STGE_ACCT --container-name $CTR --name demo_file --auth-mode login" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify the blob was deleted" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "az storage blob list --account-name $STGE_ACCT --container-name $CTR --output table --auth-mode login" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Storage Account\n", + "Delete the Storage Account." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "az storage account delete -n $STGE_ACCT -g RG" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the Storage Account has been deleted." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "az storage account list | grep $STGE_ACCT" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Source Group\n", "By deleting the Resource Group, you will delete all resouce in that group.\n", "\n", "The --no-wait parameter keeps the CLI from blocking while the deletion takes place." diff --git a/content/Azure/06_running_analysis.ipynb b/content/Azure/06_running_analysis.ipynb index 2abf7ac..b5ce5ae 100644 --- a/content/Azure/06_running_analysis.ipynb +++ b/content/Azure/06_running_analysis.ipynb @@ -30,7 +30,7 @@ }, { "cell_type": "markdown", - "id": "6291edee-c2df-4941-9b8e-de42649640f9", + "id": "3a0fb40b", "metadata": {}, "source": [ "## Create a VM\n", @@ -47,7 +47,7 @@ }, { "cell_type": "markdown", - "id": "c87e200c-1d18-44f5-b4e6-28b697b04b3c", + "id": "26f414ef", "metadata": {}, "source": [ "## Connect to the VM\n", @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "44f32772-0abb-4fa7-a013-202fc646df5e", + "id": "41c471fb", "metadata": {}, "source": [ "```\n", @@ -84,7 +84,7 @@ }, { "cell_type": "markdown", - "id": "0ab6ad28-24bf-4c0f-b4dd-3be2ec25aaa7", + "id": "aa2c0f15", "metadata": {}, "source": [ "## Secure the VM\n", @@ -93,30 +93,9 @@ ] }, { - "cell_type": "code", - "execution_count": 1, - "id": "0f2df994-202e-4e3e-96c2-1536d8adb036", + "cell_type": "markdown", + "id": "d95ece63", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]\n", - "Hit:2 http://deb.debian.org/debian buster InRelease\n", - "Hit:3 http://deb.debian.org/debian buster-updates InRelease\n", - "Hit:4 http://deb.debian.org/debian buster-backports InRelease\n", - "Hit:5 http://packages.cloud.google.com/apt cloud-sdk-buster InRelease\n", - "Hit:6 http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-buster InRelease\n", - "Get:7 http://packages.cloud.google.com/apt google-compute-engine-buster-stable InRelease [5526 B]\n", - "Fetched 70.9 kB in 1s (91.3 kB/s) \u001b[0m\u001b[33m\n", - "Reading package lists... Done\n", - "Building dependency tree \n", - "Reading state information... Done\n", - "2 packages can be upgraded. Run 'apt list --upgradable' to see them.\n" - ] - } - ], "source": [ "sudo apt update\n", "sudo unattended-upgrades" @@ -124,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "b7c4db9e-f098-41bc-80d2-b524444eec7f", + "id": "da999ac0", "metadata": {}, "source": [ "## Get Example Code\n", @@ -134,30 +113,18 @@ }, { "cell_type": "code", - "execution_count": 2, - "id": "05fadd30-4f35-4a93-b713-cc132131b948", + "execution_count": null, + "id": "0fc21993", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Reading package lists... Done\n", - "Building dependency tree \n", - "Reading state information... Done\n", - "git is already the newest version (1:2.20.1-2+deb10u3).\n", - "0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.\n" - ] - } - ], + "outputs": [], "source": [ "sudo apt-get install --yes git" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "96db6a66-3fbf-419a-b8c8-dbb27639e990", + "execution_count": null, + "id": "3d30db18", "metadata": {}, "outputs": [], "source": [ @@ -166,28 +133,17 @@ }, { "cell_type": "code", - "execution_count": 4, - "id": "36554c99-ba08-4733-8ef2-e68d42d0d2b7", + "execution_count": null, + "id": "4a86fa33", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Cloning into 'CLASS-Examples'...\n", - "remote: Enumerating objects: 66, done.\u001b[K\n", - "remote: Total 66 (delta 0), reused 0 (delta 0), pack-reused 66\u001b[K\n", - "Unpacking objects: 100% (66/66), done.\n" - ] - } - ], + "outputs": [], "source": [ "git clone https://github.internet2.edu/CLASS/CLASS-Examples.git" ] }, { "cell_type": "markdown", - "id": "3d2eb9fc-bec9-449d-a7ab-f3127f59d512", + "id": "5067f044", "metadata": {}, "source": [ "We now change the current directory to the `landsat` directory in the `CLASS-Examples` directory that was just created by the previous git command." @@ -195,8 +151,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "90c1cda7-60d4-44bb-84f8-e776a77a94ab", + "execution_count": null, + "id": "7510d393", "metadata": {}, "outputs": [], "source": [ @@ -205,7 +161,7 @@ }, { "cell_type": "markdown", - "id": "6ea81d23-e1b0-4cac-a3ac-fed7a9723eca", + "id": "80788411", "metadata": {}, "source": [ "Your prompt should now change showing the current directory as follows.\n", @@ -216,32 +172,17 @@ }, { "cell_type": "code", - "execution_count": 6, - "id": "55b628d5-6e5c-45a5-9cd3-c129db9cdcd2", + "execution_count": null, + "id": "6f213bfd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total 28\n", - "-rw-r--r-- 1 learner learner 960 Dec 17 19:00 ReadMe.md\n", - "-rw-r--r-- 1 learner learner 72 Dec 17 19:00 clean.sh\n", - "-rw-r--r-- 1 learner learner 613 Dec 17 19:00 combine.py\n", - "-rw-r--r-- 1 learner learner 280 Dec 17 19:00 download.sh\n", - "-rw-r--r-- 1 learner learner 314 Dec 17 19:00 get-index.sh\n", - "-rw-r--r-- 1 learner learner 76 Dec 17 19:00 search.json\n", - "-rw-r--r-- 1 learner learner 783 Dec 17 19:00 search.py\n" - ] - } - ], + "outputs": [], "source": [ "ls -l" ] }, { "cell_type": "markdown", - "id": "2b8b3144-7453-4350-a1cf-7fa74af2bcbf", + "id": "13168790", "metadata": {}, "source": [ "## Access the bucket\n", @@ -251,36 +192,17 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "e56ab74a-ae6d-4602-a26b-4a2656bd40cd", + "execution_count": null, + "id": "245f32a2", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gs://gcp-public-data-landsat/index.csv.gz\n", - "gs://gcp-public-data-landsat/LC08/\n", - "gs://gcp-public-data-landsat/LE07/\n", - "gs://gcp-public-data-landsat/LM01/\n", - "gs://gcp-public-data-landsat/LM02/\n", - "gs://gcp-public-data-landsat/LM03/\n", - "gs://gcp-public-data-landsat/LM04/\n", - "gs://gcp-public-data-landsat/LM05/\n", - "gs://gcp-public-data-landsat/LO08/\n", - "gs://gcp-public-data-landsat/LT04/\n", - "gs://gcp-public-data-landsat/LT05/\n", - "gs://gcp-public-data-landsat/LT08/\n" - ] - } - ], + "outputs": [], "source": [ "gsutil ls gs://gcp-public-data-landsat/" ] }, { "cell_type": "markdown", - "id": "89acffba-cbce-436c-98dd-05467b6675a6", + "id": "9153424d", "metadata": {}, "source": [ "The index file is a list of all the files in the bucket and we can use it to search and filter files.\n", @@ -290,50 +212,27 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "bbe85b75-c7cd-40ed-a3b0-37cbd0a5f52e", + "execution_count": null, + "id": "e4ffd7e4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "mkdir: created directory 'data'\n" - ] - } - ], + "outputs": [], "source": [ "mkdir -v data" ] }, { "cell_type": "code", - "execution_count": 9, - "id": "18a9b71c-5871-4ce2-a202-b48ad04e8d38", + "execution_count": null, + "id": "f90b7dc4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Copying gs://gcp-public-data-landsat/index.csv.gz...\n", - "==> NOTE: You are downloading one or more large file(s), which would \n", - "run significantly faster if you enabled sliced object downloads. This\n", - "feature is enabled by default but requires that compiled crcmod be\n", - "installed (see \"gsutil help crcmod\").\n", - "\n", - "\\ [1 files][761.0 MiB/761.0 MiB] 42.0 MiB/s \n", - "Operation completed over 1 objects/761.0 MiB. \n" - ] - } - ], + "outputs": [], "source": [ "gsutil cp gs://gcp-public-data-landsat/index.csv.gz data/" ] }, { "cell_type": "markdown", - "id": "76b905b4-1c2a-4960-a14f-974b77f671cd", + "id": "0837cf43", "metadata": {}, "source": [ "We will now uncompress the index file to make it easier to use. This may take some time depending on the machine type you are using." @@ -341,8 +240,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "2cdaf24c-c4aa-4e80-9236-939e7c982916", + "execution_count": null, + "id": "9ed5a46b", "metadata": {}, "outputs": [], "source": [ @@ -359,19 +258,10 @@ }, { "cell_type": "code", - "execution_count": 11, - "id": "b005876c-f9af-43d6-80c6-f04295413b9b", + "execution_count": null, + "id": "5f4031b0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total 2.6G\n", - "-rw-r--r-- 1 learner learner 2.6G Dec 17 19:01 index.csv\n" - ] - } - ], + "outputs": [], "source": [ "ls -lh data" ] @@ -386,21 +276,10 @@ }, { "cell_type": "code", - "execution_count": 12, - "id": "ffe969db-d207-44fe-8957-8d129c76ee8f", + "execution_count": null, + "id": "990f4c3f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "SCENE_ID,PRODUCT_ID,SPACECRAFT_ID,SENSOR_ID,DATE_ACQUIRED,COLLECTION_NUMBER,COLLECTION_CATEGORY,SENSING_TIME,DATA_TYPE,WRS_PATH,WRS_ROW,CLOUD_COVER,NORTH_LAT,SOUTH_LAT,WEST_LON,EAST_LON,TOTAL_SIZE,BASE_URL\n", - "LM51940171984262KIS00,LM05_L1GS_194017_19840918_20210913_01_T2,LANDSAT_5,MSS,1984-09-18,01,T2,1984-09-18T09:36:27.0970000Z,L1GS,194,17,51.0,62.58023,60.38359,14.45307,19.13901,34758212,gs://gcp-public-data-landsat/LM05/01/194/017/LM05_L1GS_194017_19840918_20210913_01_T2\n", - "LM10420331972311AAA04,LM01_L1TP_042033_19721106_20180429_01_T2,LANDSAT_1,MSS,1972-11-06,01,T2,1972-11-06T17:49:00.5000000Z,L1TP,42,33,3.0,39.68891,37.707,-115.59896,-112.90344,26932395,gs://gcp-public-data-landsat/LM01/01/042/033/LM01_L1TP_042033_19721106_20180429_01_T2\n", - "LT50150151992246PAC00,LT05_L1TP_015015_19920902_20170121_01_T1,LANDSAT_5,TM,1992-09-02,01,T1,1992-09-02T15:01:34.1390130Z,L1TP,15,15,90.0,65.32118,63.11726,-67.3438,-61.89671,118785510,gs://gcp-public-data-landsat/LT05/01/015/015/LT05_L1TP_015015_19920902_20170121_01_T1\n" - ] - } - ], + "outputs": [], "source": [ "head --lines=4 data/index.csv" ] @@ -417,36 +296,10 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "c5e300c3-e1f3-4cd4-9679-77725e61c4db", + "execution_count": null, + "id": "64ddd71e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#!/usr/bin/python3\n", - "import json\n", - "import csv\n", - "import sys\n", - "\n", - "# Example: Burr Oak Tree\n", - "# 38.899313,-92.464562 (Lat north+, Long west-) ; Landsat Path 025, Row 033\n", - "config=json.load(open(\"search.json\"))\n", - "lat,lon=config['lat'],config['lon']\n", - "landsat=config['landsat']\n", - "\n", - "reader=csv.reader(sys.stdin)\n", - "header=next(reader) # skip header\n", - "for l in reader:\n", - " SCENE_ID,PRODUCT_ID,SPACECRAFT_ID,SENSOR_ID,DATE_ACQUIRED,COLLECTION_NUMBER,COLLECTION_CATEGORY,SENSING_TIME,DATA_TYPE,WRS_PATH,WRS_ROW,CLOUD_COVER,NORTH_LAT,SOUTH_LAT,WEST_LON,EAST_LON,TOTAL_SIZE,BASE_URL=l\n", - " west,east=float(WEST_LON),float(EAST_LON)\n", - " north,south=float(NORTH_LAT),float(SOUTH_LAT)\n", - " if SPACECRAFT_ID==landsat and north >= lat and south <= lat and west <= lon and east >= lon:\n", - " print(BASE_URL) # output BASE_URL\n" - ] - } - ], + "outputs": [], "source": [ "cat search.py" ] @@ -461,22 +314,10 @@ }, { "cell_type": "code", - "execution_count": 14, - "id": "c9872510-4265-4b0e-aeb5-5a829ff69b24", + "execution_count": null, + "id": "b7d84cb5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " \"lat\": 38.899313,\n", - " \"lon\": -92.464562,\n", - " \"landsat\": \"LANDSAT_8\"\n", - "}\n" - ] - } - ], + "outputs": [], "source": [ "cat search.json" ] @@ -491,22 +332,10 @@ }, { "cell_type": "code", - "execution_count": 15, - "id": "6912a9ec-0f9b-4500-ba20-d4280592b323", + "execution_count": null, + "id": "a201fd0e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1\n", - "gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1\n", - "gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20150127_20170302_01_T1\n", - "gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20161028_20170219_01_T1\n", - "gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20191224_20200110_01_T1\n" - ] - } - ], + "outputs": [], "source": [ "head --lines=200000 data/index.csv | python3 search.py" ] @@ -523,27 +352,10 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "3572c518-df83-4906-bfa6-a37bde2a5063", + "execution_count": null, + "id": "3ac78b3c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#!/bin/bash\n", - "\n", - "# Read space separated URL from STDIN and download \n", - "while read -r URL ; do\n", - " echo \"+++ $URL\"\n", - " # -m parallel\n", - " # -n no-clobber (do not re-download data)\n", - " # -r recursive (download all the data in the specified URL)\n", - " gsutil -m cp -n -r \"${URL}/\" data/\n", - "done\n" - ] - } - ], + "outputs": [], "source": [ "cat download.sh" ] @@ -558,64 +370,12 @@ }, { "cell_type": "code", - "execution_count": 17, - "id": "cccec3e1-0dcd-4e3b-a059-a884f5219b66", + "execution_count": null, + "id": "2e93f083", "metadata": { - "scrolled": true, "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "+++ gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_ANG.txt...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B3.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B9.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B4.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B1.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B8.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B6.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_BQA.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B11.TIF...\n", - "==> NOTE: You are downloading one or more large file(s), which would\n", - "run significantly faster if you enabled sliced object downloads. This\n", - "feature is enabled by default but requires that compiled crcmod be\n", - "installed (see \"gsutil help crcmod\").\n", - "\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B10.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_MTL.txt...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B5.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B2.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20211010_20211018_01_T1/LC08_L1TP_025033_20211010_20211018_01_T1_B7.TIF...\n", - "| [14/14 files][997.2 MiB/997.2 MiB] 100% Done 65.3 MiB/s ETA 00:00:00 \n", - "Operation completed over 14 objects/997.2 MiB. \n", - "+++ gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_ANG.txt...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B1.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B11.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B10.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B8.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B9.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B3.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_BQA.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B6.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B7.TIF...\n", - "==> NOTE: You are downloading one or more large file(s), which would \n", - "run significantly faster if you enabled sliced object downloads. This\n", - "feature is enabled by default but requires that compiled crcmod be\n", - "installed (see \"gsutil help crcmod\").\n", - "\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B2.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_MTL.txt...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B4.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20170913_20170928_01_T1/LC08_L1TP_025033_20170913_20170928_01_T1_B5.TIF...\n", - "- [14/14 files][979.2 MiB/979.2 MiB] 100% Done 14.9 MiB/s ETA 00:00:00 \n", - "Operation completed over 14 objects/979.2 MiB. \n" - ] - } - ], + "outputs": [], "source": [ "head --lines=200000 data/index.csv | python3 search.py | head --lines=2 | bash download.sh" ] @@ -630,21 +390,10 @@ }, { "cell_type": "code", - "execution_count": 18, - "id": "a37c1567-14b5-4dc7-bc27-d1b84411fce1", + "execution_count": null, + "id": "271c7c4c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total 2665792\n", - "drwxr-xr-x 2 learner learner 4096 Dec 17 19:02 \u001b[0m\u001b[01;34mLC08_L1TP_025033_20170913_20170928_01_T1\u001b[0m\n", - "drwxr-xr-x 2 learner learner 4096 Dec 17 19:01 \u001b[01;34mLC08_L1TP_025033_20211010_20211018_01_T1\u001b[0m\n", - "-rw-r--r-- 1 learner learner 2729754843 Dec 17 19:01 index.csv\n" - ] - } - ], + "outputs": [], "source": [ "ls -l data" ] @@ -661,57 +410,20 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "0c027e92-ae6f-4152-b8d6-5a70172de3e2", + "execution_count": null, + "id": "e41b58c6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#!/usr/bin/python3\n", - "import os\n", - "import rasterio\n", - "\n", - "# Open the first directory in data, could walk entire tree\n", - "for dirname, dirs, files in os.walk('data'):\n", - " source = dirs[0]\n", - " break\n", - "\n", - "# Open band (B2/Blue) and copy metadata for result.\n", - "with rasterio.open(\"data/%s/%s_B2.TIF\" % (source, source)) as band2:\n", - " meta = band2.meta\n", - "\n", - "# Combine bands into PNG\n", - "meta.update(count = 3, driver='PNG')\n", - "with rasterio.open(\"output/result-%s.png\" % source, 'w+', **meta) as output:\n", - " for i in range(1, 4):\n", - " print(source, i)\n", - " output.write_band(i,rasterio.open(\"data/%s/%s_B%d.TIF\" % (source, source, i+3)).read(1))\n" - ] - } - ], + "outputs": [], "source": [ "cat combine.py" ] }, { "cell_type": "code", - "execution_count": 20, - "id": "77999a80-7cfd-46d3-86a6-05d199f7e66d", + "execution_count": null, + "id": "194c8cef", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Traceback (most recent call last):\n", - " File \"combine.py\", line 3, in \n", - " import rasterio\n", - "ModuleNotFoundError: No module named 'rasterio'\n" - ] - } - ], + "outputs": [], "source": [ "python3 combine.py\n", "/bin/true # ignore this line used for jupyter" @@ -728,471 +440,12 @@ }, { "cell_type": "code", - "execution_count": 21, - "id": "b5a2b29b-9c1d-4376-a3eb-4a3dc4bac160", + "execution_count": null, + "id": "659ed9d0", "metadata": { - "scrolled": true, "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "mkdir: created directory 'output/'\n", - "Reading package lists... Done\n", - "Building dependency tree \n", - "Reading state information... Done\n", - "The following additional packages will be installed:\n", - " fontconfig-config fonts-dejavu-core gdal-data libaec0 libarmadillo9\n", - " libarpack2 libblas3 libcharls2 libdap25 libdapclient6v5 libdapserver7v5\n", - " libepsilon1 libfontconfig1 libfreexl1 libfyba0 libgdal20 libgeos-3.7.1\n", - " libgeos-c1v5 libgeotiff2 libgfortran5 libgif7 libhdf4-0-alt libhdf5-103\n", - " libicu63 libjbig0 libjpeg62-turbo libkmlbase1 libkmlconvenience1 libkmldom1\n", - " libkmlengine1 libkmlregionator1 libkmlxsd1 liblapack3 liblcms2-2 libltdl7\n", - " libmariadb3 libminizip1 libnetcdf13 libnspr4 libnss3 libodbc1 libogdi3.2\n", - " libopenjp2-7 libpoppler82 libpq5 libproj13 libqhull7 libspatialite7\n", - " libsuperlu5 libsz2 libtiff5 liburiparser1 libwebp6 libxerces-c3.2 libxml2\n", - " libxslt1.1 mariadb-common mysql-common odbcinst odbcinst1debian2\n", - " poppler-data proj-bin proj-data python3-affine python3-attr python3-bs4\n", - " python3-chardet python3-click python3-click-plugins python3-cligj\n", - " python3-colorama python3-html5lib python3-lxml python3-numpy\n", - " python3-pyparsing python3-snuggs python3-soupsieve python3-webencodings\n", - "Suggested packages:\n", - " geotiff-bin gdal-bin libgeotiff-epsg libhdf4-doc libhdf4-alt-dev hdf4-tools\n", - " liblcms2-utils libmyodbc odbc-postgresql tdsodbc unixodbc-bin ogdi-bin\n", - " poppler-utils ghostscript fonts-japanese-mincho | fonts-ipafont-mincho\n", - " fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai\n", - " fonts-arphic-uming fonts-nanum python-attr-doc python3-genshi\n", - " python3-lxml-dbg python-lxml-doc gfortran python-numpy-doc python3-pytest\n", - " python3-numpy-dbg python-pyparsing-doc\n", - "The following NEW packages will be installed:\n", - " fontconfig-config fonts-dejavu-core gdal-data libaec0 libarmadillo9\n", - " libarpack2 libblas3 libcharls2 libdap25 libdapclient6v5 libdapserver7v5\n", - " libepsilon1 libfontconfig1 libfreexl1 libfyba0 libgdal20 libgeos-3.7.1\n", - " libgeos-c1v5 libgeotiff2 libgfortran5 libgif7 libhdf4-0-alt libhdf5-103\n", - " libicu63 libjbig0 libjpeg62-turbo libkmlbase1 libkmlconvenience1 libkmldom1\n", - " libkmlengine1 libkmlregionator1 libkmlxsd1 liblapack3 liblcms2-2 libltdl7\n", - " libmariadb3 libminizip1 libnetcdf13 libnspr4 libnss3 libodbc1 libogdi3.2\n", - " libopenjp2-7 libpoppler82 libpq5 libproj13 libqhull7 libspatialite7\n", - " libsuperlu5 libsz2 libtiff5 liburiparser1 libwebp6 libxerces-c3.2 libxml2\n", - " libxslt1.1 mariadb-common mysql-common odbcinst odbcinst1debian2\n", - " poppler-data proj-bin proj-data python3-affine python3-attr python3-bs4\n", - " python3-chardet python3-click python3-click-plugins python3-cligj\n", - " python3-colorama python3-html5lib python3-lxml python3-numpy\n", - " python3-pyparsing python3-rasterio python3-snuggs python3-soupsieve\n", - " python3-webencodings\n", - "0 upgraded, 79 newly installed, 0 to remove and 2 not upgraded.\n", - "Need to get 46.8 MB of archives.\n", - "After this operation, 172 MB of additional disk space will be used.\n", - "Get:1 http://security.debian.org/debian-security buster/updates/main amd64 libicu63 amd64 63.1-6+deb10u2 [8300 kB]\n", - "Get:2 http://deb.debian.org/debian buster/main amd64 poppler-data all 0.4.9-2 [1473 kB]\n", - "Get:3 http://deb.debian.org/debian buster/main amd64 fonts-dejavu-core all 2.37-1 [1068 kB]\n", - "Get:4 http://deb.debian.org/debian buster/main amd64 fontconfig-config all 2.13.1-2 [280 kB]\n", - "Get:5 http://deb.debian.org/debian buster/main amd64 gdal-data all 2.4.0+dfsg-1 [744 kB]\n", - "Get:6 http://deb.debian.org/debian buster/main amd64 libaec0 amd64 1.0.2-1 [20.1 kB]\n", - "Get:7 http://deb.debian.org/debian buster/main amd64 libgfortran5 amd64 8.3.0-6 [581 kB]\n", - "Get:8 http://deb.debian.org/debian buster/main amd64 libblas3 amd64 3.8.0-2 [148 kB]\n", - "Get:9 http://deb.debian.org/debian buster/main amd64 liblapack3 amd64 3.8.0-2 [2110 kB]\n", - "Get:10 http://deb.debian.org/debian buster/main amd64 libarpack2 amd64 3.7.0-2 [102 kB]\n", - "Get:11 http://deb.debian.org/debian buster/main amd64 libsuperlu5 amd64 5.2.1+dfsg1-4 [161 kB]\n", - "Get:12 http://deb.debian.org/debian buster/main amd64 libarmadillo9 amd64 1:9.200.7+dfsg-1 [88.6 kB]\n", - "Get:13 http://deb.debian.org/debian buster/main amd64 libcharls2 amd64 2.0.0+dfsg-1 [64.3 kB]\n", - "Get:14 http://deb.debian.org/debian buster/main amd64 libxml2 amd64 2.9.4+dfsg1-7+deb10u2 [689 kB]\n", - "Get:15 http://security.debian.org/debian-security buster/updates/main amd64 libtiff5 amd64 4.1.0+git191117-2~deb10u3 [271 kB]\n", - "Get:16 http://security.debian.org/debian-security buster/updates/main amd64 libnss3 amd64 2:3.42.1-1+deb10u4 [1161 kB]\n", - "Get:17 http://deb.debian.org/debian buster/main amd64 libdap25 amd64 3.20.3-1 [557 kB]\n", - "Get:18 http://deb.debian.org/debian buster/main amd64 libdapclient6v5 amd64 3.20.3-1 [202 kB]\n", - "Get:19 http://deb.debian.org/debian buster/main amd64 libdapserver7v5 amd64 3.20.3-1 [131 kB]\n", - "Get:20 http://security.debian.org/debian-security buster/updates/main amd64 libpq5 amd64 11.14-0+deb10u1 [171 kB]\n", - "Get:21 http://deb.debian.org/debian buster/main amd64 libepsilon1 amd64 0.9.2+dfsg-4 [42.0 kB]\n", - "Get:22 http://deb.debian.org/debian buster/main amd64 libfontconfig1 amd64 2.13.1-2 [346 kB]\n", - "Get:23 http://deb.debian.org/debian buster/main amd64 libfreexl1 amd64 1.0.5-3 [34.1 kB]\n", - "Get:24 http://deb.debian.org/debian buster/main amd64 libfyba0 amd64 4.1.1-6 [114 kB]\n", - "Get:25 http://deb.debian.org/debian buster/main amd64 libgeos-3.7.1 amd64 3.7.1-1 [735 kB]\n", - "Get:26 http://deb.debian.org/debian buster/main amd64 libgeos-c1v5 amd64 3.7.1-1 [299 kB]\n", - "Get:27 http://deb.debian.org/debian buster/main amd64 proj-data all 5.2.0-1 [6986 kB]\n", - "Get:28 http://deb.debian.org/debian buster/main amd64 libproj13 amd64 5.2.0-1 [225 kB]\n", - "Get:29 http://deb.debian.org/debian buster/main amd64 libjbig0 amd64 2.1-3.1+b2 [31.0 kB]\n", - "Get:30 http://deb.debian.org/debian buster/main amd64 libjpeg62-turbo amd64 1:1.5.2-2+deb10u1 [133 kB]\n", - "Get:31 http://deb.debian.org/debian buster/main amd64 libwebp6 amd64 0.6.1-2+deb10u1 [261 kB]\n", - "Get:32 http://deb.debian.org/debian buster/main amd64 libgeotiff2 amd64 1.4.3-1 [72.0 kB]\n", - "Get:33 http://deb.debian.org/debian buster/main amd64 libgif7 amd64 5.1.4-3 [43.3 kB]\n", - "Get:34 http://deb.debian.org/debian buster/main amd64 libhdf4-0-alt amd64 4.2.13-4 [277 kB]\n", - "Get:35 http://deb.debian.org/debian buster/main amd64 libsz2 amd64 1.0.2-1 [6676 B]\n", - "Get:36 http://deb.debian.org/debian buster/main amd64 libhdf5-103 amd64 1.10.4+repack-10 [1325 kB]\n", - "Get:37 http://deb.debian.org/debian buster/main amd64 libminizip1 amd64 1.1-8+b1 [20.4 kB]\n", - "Get:38 http://deb.debian.org/debian buster/main amd64 liburiparser1 amd64 0.9.1-1 [47.8 kB]\n", - "Get:39 http://deb.debian.org/debian buster/main amd64 libkmlbase1 amd64 1.3.0-7 [48.9 kB]\n", - "Get:40 http://deb.debian.org/debian buster/main amd64 libkmldom1 amd64 1.3.0-7 [172 kB]\n", - "Get:41 http://deb.debian.org/debian buster/main amd64 libkmlengine1 amd64 1.3.0-7 [78.4 kB]\n", - "Get:42 http://deb.debian.org/debian buster/main amd64 libkmlconvenience1 amd64 1.3.0-7 [50.1 kB]\n", - "Get:43 http://deb.debian.org/debian buster/main amd64 libkmlregionator1 amd64 1.3.0-7 [25.1 kB]\n", - "Get:44 http://deb.debian.org/debian buster/main amd64 libkmlxsd1 amd64 1.3.0-7 [34.6 kB]\n", - "Get:45 http://deb.debian.org/debian buster/main amd64 mysql-common all 5.8+1.0.5 [7324 B]\n", - "Get:46 http://deb.debian.org/debian buster/main amd64 mariadb-common all 1:10.3.31-0+deb10u1 [32.7 kB]\n", - "Get:47 http://deb.debian.org/debian buster/main amd64 libmariadb3 amd64 1:10.3.31-0+deb10u1 [173 kB]\n", - "Get:48 http://deb.debian.org/debian buster/main amd64 libnetcdf13 amd64 1:4.6.2-1 [403 kB]\n", - "Get:49 http://deb.debian.org/debian buster/main amd64 libltdl7 amd64 2.4.6-9 [390 kB]\n", - "Get:50 http://deb.debian.org/debian buster/main amd64 libodbc1 amd64 2.3.6-0.1 [223 kB]\n", - "Get:51 http://deb.debian.org/debian buster/main amd64 libogdi3.2 amd64 3.2.1+ds-4 [241 kB]\n", - "Get:52 http://deb.debian.org/debian buster/main amd64 libopenjp2-7 amd64 2.3.0-2+deb10u2 [158 kB]\n", - "Get:53 http://deb.debian.org/debian buster/main amd64 liblcms2-2 amd64 2.9-3 [145 kB]\n", - "Get:54 http://deb.debian.org/debian buster/main amd64 libnspr4 amd64 2:4.20-1 [112 kB]\n", - "Get:55 http://deb.debian.org/debian buster/main amd64 libpoppler82 amd64 0.71.0-5 [1507 kB]\n", - "Get:56 http://deb.debian.org/debian buster/main amd64 libqhull7 amd64 2015.2-4 [196 kB]\n", - "Get:57 http://deb.debian.org/debian buster/main amd64 libspatialite7 amd64 4.3.0a-5+b2 [1256 kB]\n", - "Get:58 http://deb.debian.org/debian buster/main amd64 libxerces-c3.2 amd64 3.2.2+debian-1+deb10u1 [886 kB]\n", - "Get:59 http://deb.debian.org/debian buster/main amd64 odbcinst amd64 2.3.6-0.1 [48.4 kB]\n", - "Get:60 http://deb.debian.org/debian buster/main amd64 odbcinst1debian2 amd64 2.3.6-0.1 [78.1 kB]\n", - "Get:61 http://deb.debian.org/debian buster/main amd64 libgdal20 amd64 2.4.0+dfsg-1+b1 [6171 kB]\n", - "Get:62 http://deb.debian.org/debian buster/main amd64 libxslt1.1 amd64 1.1.32-2.2~deb10u1 [237 kB]\n", - "Get:63 http://deb.debian.org/debian buster/main amd64 proj-bin amd64 5.2.0-1 [105 kB]\n", - "Get:64 http://deb.debian.org/debian buster/main amd64 python3-affine all 2.2.2-1 [14.5 kB]\n", - "Get:65 http://deb.debian.org/debian buster/main amd64 python3-attr all 18.2.0-1 [37.3 kB]\n", - "Get:66 http://deb.debian.org/debian buster/main amd64 python3-soupsieve all 1.8+dfsg-1 [27.6 kB]\n", - "Get:67 http://deb.debian.org/debian buster/main amd64 python3-bs4 all 4.7.1-1 [94.1 kB]\n", - "Get:68 http://deb.debian.org/debian buster/main amd64 python3-chardet all 3.0.4-3 [80.5 kB]\n", - "Get:69 http://deb.debian.org/debian buster/main amd64 python3-colorama all 0.3.7-1 [18.1 kB]\n", - "Get:70 http://deb.debian.org/debian buster/main amd64 python3-click all 7.0-1 [73.6 kB]\n", - "Get:71 http://deb.debian.org/debian buster/main amd64 python3-click-plugins all 1.0.4-1 [7540 B]\n", - "Get:72 http://deb.debian.org/debian buster/main amd64 python3-cligj all 0.5.0-1 [8212 B]\n", - "Get:73 http://deb.debian.org/debian buster/main amd64 python3-webencodings all 0.5.1-1 [10.9 kB]\n", - "Get:74 http://deb.debian.org/debian buster/main amd64 python3-html5lib all 1.0.1-1 [89.5 kB]\n", - "Get:75 http://deb.debian.org/debian buster/main amd64 python3-lxml amd64 4.3.2-1+deb10u3 [1162 kB]\n", - "Get:76 http://deb.debian.org/debian buster/main amd64 python3-numpy amd64 1:1.16.2-1 [2119 kB]\n", - "Get:77 http://deb.debian.org/debian buster/main amd64 python3-pyparsing all 2.2.0+dfsg1-2 [89.6 kB]\n", - "Get:78 http://deb.debian.org/debian buster/main amd64 python3-snuggs all 1.4.3-1 [7228 B]\n", - "Get:79 http://deb.debian.org/debian buster/main amd64 python3-rasterio amd64 1.0.21-1 [818 kB]\n", - "Fetched 46.8 MB in 1s (85.4 MB/s) \n", - "Extracting templates from packages: 100%\n", - "Preconfiguring packages ...\n", - "Selecting previously unselected package poppler-data.\n", - "(Reading database ... 57529 files and directories currently installed.)\n", - "Preparing to unpack .../00-poppler-data_0.4.9-2_all.deb ...\n", - "Unpacking poppler-data (0.4.9-2) ...\n", - "Selecting previously unselected package fonts-dejavu-core.\n", - "Preparing to unpack .../01-fonts-dejavu-core_2.37-1_all.deb ...\n", - "Unpacking fonts-dejavu-core (2.37-1) ...\n", - "Selecting previously unselected package fontconfig-config.\n", - "Preparing to unpack .../02-fontconfig-config_2.13.1-2_all.deb ...\n", - "Unpacking fontconfig-config (2.13.1-2) ...\n", - "Selecting previously unselected package gdal-data.\n", - "Preparing to unpack .../03-gdal-data_2.4.0+dfsg-1_all.deb ...\n", - "Unpacking gdal-data (2.4.0+dfsg-1) ...\n", - "Selecting previously unselected package libaec0:amd64.\n", - "Preparing to unpack .../04-libaec0_1.0.2-1_amd64.deb ...\n", - "Unpacking libaec0:amd64 (1.0.2-1) ...\n", - "Selecting previously unselected package libgfortran5:amd64.\n", - "Preparing to unpack .../05-libgfortran5_8.3.0-6_amd64.deb ...\n", - "Unpacking libgfortran5:amd64 (8.3.0-6) ...\n", - "Selecting previously unselected package libblas3:amd64.\n", - "Preparing to unpack .../06-libblas3_3.8.0-2_amd64.deb ...\n", - "Unpacking libblas3:amd64 (3.8.0-2) ...\n", - "Selecting previously unselected package liblapack3:amd64.\n", - "Preparing to unpack .../07-liblapack3_3.8.0-2_amd64.deb ...\n", - "Unpacking liblapack3:amd64 (3.8.0-2) ...\n", - "Selecting previously unselected package libarpack2:amd64.\n", - "Preparing to unpack .../08-libarpack2_3.7.0-2_amd64.deb ...\n", - "Unpacking libarpack2:amd64 (3.7.0-2) ...\n", - "Selecting previously unselected package libsuperlu5:amd64.\n", - "Preparing to unpack .../09-libsuperlu5_5.2.1+dfsg1-4_amd64.deb ...\n", - "Unpacking libsuperlu5:amd64 (5.2.1+dfsg1-4) ...\n", - "Selecting previously unselected package libarmadillo9.\n", - "Preparing to unpack .../10-libarmadillo9_1%3a9.200.7+dfsg-1_amd64.deb ...\n", - "Unpacking libarmadillo9 (1:9.200.7+dfsg-1) ...\n", - "Selecting previously unselected package libcharls2:amd64.\n", - "Preparing to unpack .../11-libcharls2_2.0.0+dfsg-1_amd64.deb ...\n", - "Unpacking libcharls2:amd64 (2.0.0+dfsg-1) ...\n", - "Selecting previously unselected package libicu63:amd64.\n", - "Preparing to unpack .../12-libicu63_63.1-6+deb10u2_amd64.deb ...\n", - "Unpacking libicu63:amd64 (63.1-6+deb10u2) ...\n", - "Selecting previously unselected package libxml2:amd64.\n", - "Preparing to unpack .../13-libxml2_2.9.4+dfsg1-7+deb10u2_amd64.deb ...\n", - "Unpacking libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ...\n", - "Selecting previously unselected package libdap25:amd64.\n", - "Preparing to unpack .../14-libdap25_3.20.3-1_amd64.deb ...\n", - "Unpacking libdap25:amd64 (3.20.3-1) ...\n", - "Selecting previously unselected package libdapclient6v5:amd64.\n", - "Preparing to unpack .../15-libdapclient6v5_3.20.3-1_amd64.deb ...\n", - "Unpacking libdapclient6v5:amd64 (3.20.3-1) ...\n", - "Selecting previously unselected package libdapserver7v5:amd64.\n", - "Preparing to unpack .../16-libdapserver7v5_3.20.3-1_amd64.deb ...\n", - "Unpacking libdapserver7v5:amd64 (3.20.3-1) ...\n", - "Selecting previously unselected package libepsilon1:amd64.\n", - "Preparing to unpack .../17-libepsilon1_0.9.2+dfsg-4_amd64.deb ...\n", - "Unpacking libepsilon1:amd64 (0.9.2+dfsg-4) ...\n", - "Selecting previously unselected package libfontconfig1:amd64.\n", - "Preparing to unpack .../18-libfontconfig1_2.13.1-2_amd64.deb ...\n", - "Unpacking libfontconfig1:amd64 (2.13.1-2) ...\n", - "Selecting previously unselected package libfreexl1:amd64.\n", - "Preparing to unpack .../19-libfreexl1_1.0.5-3_amd64.deb ...\n", - "Unpacking libfreexl1:amd64 (1.0.5-3) ...\n", - "Selecting previously unselected package libfyba0:amd64.\n", - "Preparing to unpack .../20-libfyba0_4.1.1-6_amd64.deb ...\n", - "Unpacking libfyba0:amd64 (4.1.1-6) ...\n", - "Selecting previously unselected package libgeos-3.7.1:amd64.\n", - "Preparing to unpack .../21-libgeos-3.7.1_3.7.1-1_amd64.deb ...\n", - "Unpacking libgeos-3.7.1:amd64 (3.7.1-1) ...\n", - "Selecting previously unselected package libgeos-c1v5:amd64.\n", - "Preparing to unpack .../22-libgeos-c1v5_3.7.1-1_amd64.deb ...\n", - "Unpacking libgeos-c1v5:amd64 (3.7.1-1) ...\n", - "Selecting previously unselected package proj-data.\n", - "Preparing to unpack .../23-proj-data_5.2.0-1_all.deb ...\n", - "Unpacking proj-data (5.2.0-1) ...\n", - "Selecting previously unselected package libproj13:amd64.\n", - "Preparing to unpack .../24-libproj13_5.2.0-1_amd64.deb ...\n", - "Unpacking libproj13:amd64 (5.2.0-1) ...\n", - "Selecting previously unselected package libjbig0:amd64.\n", - "Preparing to unpack .../25-libjbig0_2.1-3.1+b2_amd64.deb ...\n", - "Unpacking libjbig0:amd64 (2.1-3.1+b2) ...\n", - "Selecting previously unselected package libjpeg62-turbo:amd64.\n", - "Preparing to unpack .../26-libjpeg62-turbo_1%3a1.5.2-2+deb10u1_amd64.deb ...\n", - "Unpacking libjpeg62-turbo:amd64 (1:1.5.2-2+deb10u1) ...\n", - "Selecting previously unselected package libwebp6:amd64.\n", - "Preparing to unpack .../27-libwebp6_0.6.1-2+deb10u1_amd64.deb ...\n", - "Unpacking libwebp6:amd64 (0.6.1-2+deb10u1) ...\n", - "Selecting previously unselected package libtiff5:amd64.\n", - "Preparing to unpack .../28-libtiff5_4.1.0+git191117-2~deb10u3_amd64.deb ...\n", - "Unpacking libtiff5:amd64 (4.1.0+git191117-2~deb10u3) ...\n", - "Selecting previously unselected package libgeotiff2:amd64.\n", - "Preparing to unpack .../29-libgeotiff2_1.4.3-1_amd64.deb ...\n", - "Unpacking libgeotiff2:amd64 (1.4.3-1) ...\n", - "Selecting previously unselected package libgif7:amd64.\n", - "Preparing to unpack .../30-libgif7_5.1.4-3_amd64.deb ...\n", - "Unpacking libgif7:amd64 (5.1.4-3) ...\n", - "Selecting previously unselected package libhdf4-0-alt.\n", - "Preparing to unpack .../31-libhdf4-0-alt_4.2.13-4_amd64.deb ...\n", - "Unpacking libhdf4-0-alt (4.2.13-4) ...\n", - "Selecting previously unselected package libsz2:amd64.\n", - "Preparing to unpack .../32-libsz2_1.0.2-1_amd64.deb ...\n", - "Unpacking libsz2:amd64 (1.0.2-1) ...\n", - "Selecting previously unselected package libhdf5-103:amd64.\n", - "Preparing to unpack .../33-libhdf5-103_1.10.4+repack-10_amd64.deb ...\n", - "Unpacking libhdf5-103:amd64 (1.10.4+repack-10) ...\n", - "Selecting previously unselected package libminizip1:amd64.\n", - "Preparing to unpack .../34-libminizip1_1.1-8+b1_amd64.deb ...\n", - "Unpacking libminizip1:amd64 (1.1-8+b1) ...\n", - "Selecting previously unselected package liburiparser1:amd64.\n", - "Preparing to unpack .../35-liburiparser1_0.9.1-1_amd64.deb ...\n", - "Unpacking liburiparser1:amd64 (0.9.1-1) ...\n", - "Selecting previously unselected package libkmlbase1:amd64.\n", - "Preparing to unpack .../36-libkmlbase1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmlbase1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package libkmldom1:amd64.\n", - "Preparing to unpack .../37-libkmldom1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmldom1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package libkmlengine1:amd64.\n", - "Preparing to unpack .../38-libkmlengine1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmlengine1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package libkmlconvenience1:amd64.\n", - "Preparing to unpack .../39-libkmlconvenience1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmlconvenience1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package libkmlregionator1:amd64.\n", - "Preparing to unpack .../40-libkmlregionator1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmlregionator1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package libkmlxsd1:amd64.\n", - "Preparing to unpack .../41-libkmlxsd1_1.3.0-7_amd64.deb ...\n", - "Unpacking libkmlxsd1:amd64 (1.3.0-7) ...\n", - "Selecting previously unselected package mysql-common.\n", - "Preparing to unpack .../42-mysql-common_5.8+1.0.5_all.deb ...\n", - "Unpacking mysql-common (5.8+1.0.5) ...\n", - "Selecting previously unselected package mariadb-common.\n", - "Preparing to unpack .../43-mariadb-common_1%3a10.3.31-0+deb10u1_all.deb ...\n", - "Unpacking mariadb-common (1:10.3.31-0+deb10u1) ...\n", - "Selecting previously unselected package libmariadb3:amd64.\n", - "Preparing to unpack .../44-libmariadb3_1%3a10.3.31-0+deb10u1_amd64.deb ...\n", - "Unpacking libmariadb3:amd64 (1:10.3.31-0+deb10u1) ...\n", - "Selecting previously unselected package libnetcdf13:amd64.\n", - "Preparing to unpack .../45-libnetcdf13_1%3a4.6.2-1_amd64.deb ...\n", - "Unpacking libnetcdf13:amd64 (1:4.6.2-1) ...\n", - "Selecting previously unselected package libltdl7:amd64.\n", - "Preparing to unpack .../46-libltdl7_2.4.6-9_amd64.deb ...\n", - "Unpacking libltdl7:amd64 (2.4.6-9) ...\n", - "Selecting previously unselected package libodbc1:amd64.\n", - "Preparing to unpack .../47-libodbc1_2.3.6-0.1_amd64.deb ...\n", - "Unpacking libodbc1:amd64 (2.3.6-0.1) ...\n", - "Selecting previously unselected package libogdi3.2.\n", - "Preparing to unpack .../48-libogdi3.2_3.2.1+ds-4_amd64.deb ...\n", - "Unpacking libogdi3.2 (3.2.1+ds-4) ...\n", - "Selecting previously unselected package libopenjp2-7:amd64.\n", - "Preparing to unpack .../49-libopenjp2-7_2.3.0-2+deb10u2_amd64.deb ...\n", - "Unpacking libopenjp2-7:amd64 (2.3.0-2+deb10u2) ...\n", - "Selecting previously unselected package liblcms2-2:amd64.\n", - "Preparing to unpack .../50-liblcms2-2_2.9-3_amd64.deb ...\n", - "Unpacking liblcms2-2:amd64 (2.9-3) ...\n", - "Selecting previously unselected package libnspr4:amd64.\n", - "Preparing to unpack .../51-libnspr4_2%3a4.20-1_amd64.deb ...\n", - "Unpacking libnspr4:amd64 (2:4.20-1) ...\n", - "Selecting previously unselected package libnss3:amd64.\n", - "Preparing to unpack .../52-libnss3_2%3a3.42.1-1+deb10u4_amd64.deb ...\n", - "Unpacking libnss3:amd64 (2:3.42.1-1+deb10u4) ...\n", - "Selecting previously unselected package libpoppler82:amd64.\n", - "Preparing to unpack .../53-libpoppler82_0.71.0-5_amd64.deb ...\n", - "Unpacking libpoppler82:amd64 (0.71.0-5) ...\n", - "Selecting previously unselected package libpq5:amd64.\n", - "Preparing to unpack .../54-libpq5_11.14-0+deb10u1_amd64.deb ...\n", - "Unpacking libpq5:amd64 (11.14-0+deb10u1) ...\n", - "Selecting previously unselected package libqhull7:amd64.\n", - "Preparing to unpack .../55-libqhull7_2015.2-4_amd64.deb ...\n", - "Unpacking libqhull7:amd64 (2015.2-4) ...\n", - "Selecting previously unselected package libspatialite7:amd64.\n", - "Preparing to unpack .../56-libspatialite7_4.3.0a-5+b2_amd64.deb ...\n", - "Unpacking libspatialite7:amd64 (4.3.0a-5+b2) ...\n", - "Selecting previously unselected package libxerces-c3.2:amd64.\n", - "Preparing to unpack .../57-libxerces-c3.2_3.2.2+debian-1+deb10u1_amd64.deb ...\n", - "Unpacking libxerces-c3.2:amd64 (3.2.2+debian-1+deb10u1) ...\n", - "Selecting previously unselected package odbcinst.\n", - "Preparing to unpack .../58-odbcinst_2.3.6-0.1_amd64.deb ...\n", - "Unpacking odbcinst (2.3.6-0.1) ...\n", - "Selecting previously unselected package odbcinst1debian2:amd64.\n", - "Preparing to unpack .../59-odbcinst1debian2_2.3.6-0.1_amd64.deb ...\n", - "Unpacking odbcinst1debian2:amd64 (2.3.6-0.1) ...\n", - "Selecting previously unselected package libgdal20.\n", - "Preparing to unpack .../60-libgdal20_2.4.0+dfsg-1+b1_amd64.deb ...\n", - "Unpacking libgdal20 (2.4.0+dfsg-1+b1) ...\n", - "Selecting previously unselected package libxslt1.1:amd64.\n", - "Preparing to unpack .../61-libxslt1.1_1.1.32-2.2~deb10u1_amd64.deb ...\n", - "Unpacking libxslt1.1:amd64 (1.1.32-2.2~deb10u1) ...\n", - "Selecting previously unselected package proj-bin.\n", - "Preparing to unpack .../62-proj-bin_5.2.0-1_amd64.deb ...\n", - "Unpacking proj-bin (5.2.0-1) ...\n", - "Selecting previously unselected package python3-affine.\n", - "Preparing to unpack .../63-python3-affine_2.2.2-1_all.deb ...\n", - "Unpacking python3-affine (2.2.2-1) ...\n", - "Selecting previously unselected package python3-attr.\n", - "Preparing to unpack .../64-python3-attr_18.2.0-1_all.deb ...\n", - "Unpacking python3-attr (18.2.0-1) ...\n", - "Selecting previously unselected package python3-soupsieve.\n", - "Preparing to unpack .../65-python3-soupsieve_1.8+dfsg-1_all.deb ...\n", - "Unpacking python3-soupsieve (1.8+dfsg-1) ...\n", - "Selecting previously unselected package python3-bs4.\n", - "Preparing to unpack .../66-python3-bs4_4.7.1-1_all.deb ...\n", - "Unpacking python3-bs4 (4.7.1-1) ...\n", - "Selecting previously unselected package python3-chardet.\n", - "Preparing to unpack .../67-python3-chardet_3.0.4-3_all.deb ...\n", - "Unpacking python3-chardet (3.0.4-3) ...\n", - "Selecting previously unselected package python3-colorama.\n", - "Preparing to unpack .../68-python3-colorama_0.3.7-1_all.deb ...\n", - "Unpacking python3-colorama (0.3.7-1) ...\n", - "Selecting previously unselected package python3-click.\n", - "Preparing to unpack .../69-python3-click_7.0-1_all.deb ...\n", - "Unpacking python3-click (7.0-1) ...\n", - "Selecting previously unselected package python3-click-plugins.\n", - "Preparing to unpack .../70-python3-click-plugins_1.0.4-1_all.deb ...\n", - "Unpacking python3-click-plugins (1.0.4-1) ...\n", - "Selecting previously unselected package python3-cligj.\n", - "Preparing to unpack .../71-python3-cligj_0.5.0-1_all.deb ...\n", - "Unpacking python3-cligj (0.5.0-1) ...\n", - "Selecting previously unselected package python3-webencodings.\n", - "Preparing to unpack .../72-python3-webencodings_0.5.1-1_all.deb ...\n", - "Unpacking python3-webencodings (0.5.1-1) ...\n", - "Selecting previously unselected package python3-html5lib.\n", - "Preparing to unpack .../73-python3-html5lib_1.0.1-1_all.deb ...\n", - "Unpacking python3-html5lib (1.0.1-1) ...\n", - "Selecting previously unselected package python3-lxml:amd64.\n", - "Preparing to unpack .../74-python3-lxml_4.3.2-1+deb10u3_amd64.deb ...\n", - "Unpacking python3-lxml:amd64 (4.3.2-1+deb10u3) ...\n", - "Selecting previously unselected package python3-numpy.\n", - "Preparing to unpack .../75-python3-numpy_1%3a1.16.2-1_amd64.deb ...\n", - "Unpacking python3-numpy (1:1.16.2-1) ...\n", - "Selecting previously unselected package python3-pyparsing.\n", - "Preparing to unpack .../76-python3-pyparsing_2.2.0+dfsg1-2_all.deb ...\n", - "Unpacking python3-pyparsing (2.2.0+dfsg1-2) ...\n", - "Selecting previously unselected package python3-snuggs.\n", - "Preparing to unpack .../77-python3-snuggs_1.4.3-1_all.deb ...\n", - "Unpacking python3-snuggs (1.4.3-1) ...\n", - "Selecting previously unselected package python3-rasterio.\n", - "Preparing to unpack .../78-python3-rasterio_1.0.21-1_amd64.deb ...\n", - "Unpacking python3-rasterio (1.0.21-1) ...\n", - "Setting up liblcms2-2:amd64 (2.9-3) ...\n", - "Setting up python3-attr (18.2.0-1) ...\n", - "Setting up mysql-common (5.8+1.0.5) ...\n", - "update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode\n", - "Setting up proj-data (5.2.0-1) ...\n", - "Setting up python3-colorama (0.3.7-1) ...\n", - "Setting up libcharls2:amd64 (2.0.0+dfsg-1) ...\n", - "Setting up libminizip1:amd64 (1.1-8+b1) ...\n", - "Setting up libproj13:amd64 (5.2.0-1) ...\n", - "Setting up libpq5:amd64 (11.14-0+deb10u1) ...\n", - "Setting up proj-bin (5.2.0-1) ...\n", - "Setting up libqhull7:amd64 (2015.2-4) ...\n", - "Setting up python3-click (7.0-1) ...\n", - "Setting up libepsilon1:amd64 (0.9.2+dfsg-4) ...\n", - "Setting up libjbig0:amd64 (2.1-3.1+b2) ...\n", - "Setting up python3-webencodings (0.5.1-1) ...\n", - "Setting up libgeos-3.7.1:amd64 (3.7.1-1) ...\n", - "Setting up libaec0:amd64 (1.0.2-1) ...\n", - "Setting up libicu63:amd64 (63.1-6+deb10u2) ...\n", - "Setting up gdal-data (2.4.0+dfsg-1) ...\n", - "Setting up poppler-data (0.4.9-2) ...\n", - "Setting up mariadb-common (1:10.3.31-0+deb10u1) ...\n", - "update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode\n", - "Setting up python3-chardet (3.0.4-3) ...\n", - "Setting up libjpeg62-turbo:amd64 (1:1.5.2-2+deb10u1) ...\n", - "Setting up python3-pyparsing (2.2.0+dfsg1-2) ...\n", - "Setting up libnspr4:amd64 (2:4.20-1) ...\n", - "Setting up libwebp6:amd64 (0.6.1-2+deb10u1) ...\n", - "Setting up libgeos-c1v5:amd64 (3.7.1-1) ...\n", - "Setting up python3-click-plugins (1.0.4-1) ...\n", - "Setting up libmariadb3:amd64 (1:10.3.31-0+deb10u1) ...\n", - "Setting up fonts-dejavu-core (2.37-1) ...\n", - "Setting up python3-html5lib (1.0.1-1) ...\n", - "Setting up libltdl7:amd64 (2.4.6-9) ...\n", - "Setting up libgfortran5:amd64 (8.3.0-6) ...\n", - "Setting up libhdf4-0-alt (4.2.13-4) ...\n", - "Setting up libgif7:amd64 (5.1.4-3) ...\n", - "Setting up liburiparser1:amd64 (0.9.1-1) ...\n", - "Setting up libfreexl1:amd64 (1.0.5-3) ...\n", - "Setting up libfyba0:amd64 (4.1.1-6) ...\n", - "Setting up libkmlbase1:amd64 (1.3.0-7) ...\n", - "Setting up libopenjp2-7:amd64 (2.3.0-2+deb10u2) ...\n", - "Setting up libtiff5:amd64 (4.1.0+git191117-2~deb10u3) ...\n", - "Setting up python3-affine (2.2.2-1) ...\n", - "Setting up libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ...\n", - "Setting up python3-soupsieve (1.8+dfsg-1) ...\n", - "Setting up libsz2:amd64 (1.0.2-1) ...\n", - "Setting up libkmlxsd1:amd64 (1.3.0-7) ...\n", - "Setting up libkmldom1:amd64 (1.3.0-7) ...\n", - "Setting up libspatialite7:amd64 (4.3.0a-5+b2) ...\n", - "Setting up libogdi3.2 (3.2.1+ds-4) ...\n", - "Setting up libxerces-c3.2:amd64 (3.2.2+debian-1+deb10u1) ...\n", - "Setting up libkmlengine1:amd64 (1.3.0-7) ...\n", - "Setting up libkmlconvenience1:amd64 (1.3.0-7) ...\n", - "Setting up fontconfig-config (2.13.1-2) ...\n", - "Setting up python3-cligj (0.5.0-1) ...\n", - "Setting up libdap25:amd64 (3.20.3-1) ...\n", - "Setting up libnss3:amd64 (2:3.42.1-1+deb10u4) ...\n", - "Setting up libdapserver7v5:amd64 (3.20.3-1) ...\n", - "Setting up python3-bs4 (4.7.1-1) ...\n", - "Setting up libgeotiff2:amd64 (1.4.3-1) ...\n", - "Setting up libblas3:amd64 (3.8.0-2) ...\n", - "update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode\n", - "Setting up libkmlregionator1:amd64 (1.3.0-7) ...\n", - "Setting up libhdf5-103:amd64 (1.10.4+repack-10) ...\n", - "Setting up libodbc1:amd64 (2.3.6-0.1) ...\n", - "Setting up libxslt1.1:amd64 (1.1.32-2.2~deb10u1) ...\n", - "Setting up libdapclient6v5:amd64 (3.20.3-1) ...\n", - "Setting up libfontconfig1:amd64 (2.13.1-2) ...\n", - "Setting up liblapack3:amd64 (3.8.0-2) ...\n", - "update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode\n", - "Setting up libarpack2:amd64 (3.7.0-2) ...\n", - "Setting up libsuperlu5:amd64 (5.2.1+dfsg1-4) ...\n", - "Setting up libpoppler82:amd64 (0.71.0-5) ...\n", - "Setting up libnetcdf13:amd64 (1:4.6.2-1) ...\n", - "Setting up python3-numpy (1:1.16.2-1) ...\n", - "Setting up python3-lxml:amd64 (4.3.2-1+deb10u3) ...\n", - "Setting up libarmadillo9 (1:9.200.7+dfsg-1) ...\n", - "Setting up python3-snuggs (1.4.3-1) ...\n", - "Setting up odbcinst (2.3.6-0.1) ...\n", - "Setting up odbcinst1debian2:amd64 (2.3.6-0.1) ...\n", - "Setting up libgdal20 (2.4.0+dfsg-1+b1) ...\n", - "Setting up python3-rasterio (1.0.21-1) ...\n", - "Processing triggers for libc-bin (2.28-10) ...\n", - "Processing triggers for man-db (2.8.5-2) ...\n" - ] - } - ], + "outputs": [], "source": [ "mkdir -v output/\n", "sudo apt-get install python3-rasterio --yes" @@ -1200,21 +453,10 @@ }, { "cell_type": "code", - "execution_count": 22, - "id": "b9e367a0-26ce-42ce-bb04-6a432f41876e", + "execution_count": null, + "id": "45a25550", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LC08_L1TP_025033_20211010_20211018_01_T1 1\n", - "LC08_L1TP_025033_20211010_20211018_01_T1 2\n", - "LC08_L1TP_025033_20211010_20211018_01_T1 3\n", - "ERROR 4: output/result-LC08_L1TP_025033_20211010_20211018_01_T1.png: No such file or directory\n" - ] - } - ], + "outputs": [], "source": [ "/usr/bin/python3 combine.py" ] @@ -1237,20 +479,10 @@ }, { "cell_type": "code", - "execution_count": 23, - "id": "db9f26aa-6317-4834-8bf1-972c8b3cc032", + "execution_count": null, + "id": "7f3f6f0b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total 195M\n", - "-rw-r--r-- 1 learner learner 195M Dec 17 19:03 \u001b[0m\u001b[01;35mresult-LC08_L1TP_025033_20211010_20211018_01_T1.png\u001b[0m\n", - "-rw-r--r-- 1 learner learner 910 Dec 17 19:03 result-LC08_L1TP_025033_20211010_20211018_01_T1.png.aux.xml\n" - ] - } - ], + "outputs": [], "source": [ "ls -lh output" ] @@ -1278,18 +510,10 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "f36cb8c5-f305-4cb2-a5cc-0c9fd8592fb4", + "execution_count": null, + "id": "715291b5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "bucket: essentials-learner-2021-12-17 region: us-west2\n" - ] - } - ], + "outputs": [], "source": [ "BUCKET=\"essentials-${USER}-$(date +%F)\"\n", "REGION=\"us-west2\"\n", @@ -1297,19 +521,9 @@ ] }, { - "cell_type": "code", - "execution_count": 25, - "id": "c2ae2b74-5e93-4c55-8bd7-63337f7dcbb8", + "cell_type": "markdown", + "id": "920ff5ef", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Creating gs://essentials-learner-2021-12-17/...\n" - ] - } - ], "source": [ "gsutil mb -b on -l $REGION --pap enforced \"gs://$BUCKET\"" ] @@ -1324,33 +538,10 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "681e6b1d-98bb-448a-a57e-f5674214effd", + "execution_count": null, + "id": "9340b10d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Copying file://output/result-LC08_L1TP_025033_20211010_20211018_01_T1.png.aux.xml [Content-Type=application/xml]...\n", - "Copying file://output/result-LC08_L1TP_025033_20211010_20211018_01_T1.png [Content-Type=image/png]...\n", - "==> NOTE: You are uploading one or more large file(s), which would run \n", - "significantly faster if you enable parallel composite uploads. This\n", - "feature can be enabled by editing the\n", - "\"parallel_composite_upload_threshold\" value in your .boto\n", - "configuration file. However, note that if you do this large files will\n", - "be uploaded as `composite objects\n", - "`_,which\n", - "means that any user who downloads such objects will need to have a\n", - "compiled crcmod installed (see \"gsutil help crcmod\"). This is because\n", - "without a compiled crcmod, computing checksums on composite objects is\n", - "so slow that gsutil disables downloads of composite objects.\n", - "\n", - "\\ [2/2 files][194.0 MiB/194.0 MiB] 100% Done \n", - "Operation completed over 2 objects/194.0 MiB. \n" - ] - } - ], + "outputs": [], "source": [ "gsutil -m cp -r \"output\" \"gs://$BUCKET\"" ] @@ -1365,38 +556,20 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "248c47be-625f-44f5-a6b6-919e8d8baafd", + "execution_count": null, + "id": "754c7eb4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gs://essentials-learner-2021-12-17/output/\n" - ] - } - ], + "outputs": [], "source": [ "gsutil ls \"gs://$BUCKET\"" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "b1ea18e9-5861-4479-9948-3303952dee8a", + "execution_count": null, + "id": "0e927a0a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "194.05 MiB 2021-12-17T19:03:54Z gs://essentials-learner-2021-12-17/output/result-LC08_L1TP_025033_20211010_20211018_01_T1.png\n", - " 910 B 2021-12-17T19:03:52Z gs://essentials-learner-2021-12-17/output/result-LC08_L1TP_025033_20211010_20211018_01_T1.png.aux.xml\n", - "TOTAL: 2 objects, 203478494 bytes (194.05 MiB)\n" - ] - } - ], + "outputs": [], "source": [ "gsutil ls -lh \"gs://$BUCKET/output\"" ] @@ -1425,7 +598,7 @@ }, { "cell_type": "markdown", - "id": "50990a67-f901-48fd-9295-25ef73245142", + "id": "85237d4a", "metadata": { "tags": [] }, @@ -1435,7 +608,7 @@ " * In the \"New Principals\" box add the Identity for the collaborator (another individual) as directed by the instructor.\n", " * Select the \"Storage Object Viewer\" by typing \"Storage Object Viewer\" in the filter and then selecting \"Storage Object Viewer\". Do not use any \"Legacy Storage\" roles.\n", " * Click \"Save\" to save the policy.\n", - " ![iam-storage-object-viewer](img/iam-storage-object-viewer.png)\n", + " \n", " * Verify the policy is listed in the \"Permissions\" table on the \"Bucket Details\" page (you should now be on this page).\n", "\n", "*Advanced Note: Changes in permissions will show up on the **Home** -> **Activity** page.*" diff --git a/content/Azure/08_cleaning_up_resources.ipynb b/content/Azure/08_cleaning_up_resources.ipynb index 6b11af4..0494252 100644 --- a/content/Azure/08_cleaning_up_resources.ipynb +++ b/content/Azure/08_cleaning_up_resources.ipynb @@ -35,19 +35,9 @@ ] }, { - "cell_type": "code", - "execution_count": 7, - "id": "7a134850-8c4f-47c6-9816-6d487a88eda1", + "cell_type": "markdown", + "id": "7171ff08", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rg-essentials\n" - ] - } - ], "source": [ "RG=rg-essentials\n", "echo $RG" @@ -62,20 +52,9 @@ ] }, { - "cell_type": "code", - "execution_count": 8, - "id": "6ccd79ab-0068-4a2a-9aca-2c47454f9d85", + "cell_type": "markdown", + "id": "b5d3261e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\u001b[0m" - ] - } - ], "source": [ "az vm list --resource-group $RG --output table" ] @@ -91,19 +70,9 @@ ] }, { - "cell_type": "code", - "execution_count": 9, - "id": "3ff9bb93-aadf-4319-aed4-b5fc1f2518c8", + "cell_type": "markdown", + "id": "92c8ae09", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[K\u001b[0minished .." - ] - } - ], "source": [ "az group delete --resource-group $RG --yes" ] diff --git a/content/Azure/glossary.ipynb b/content/Azure/glossary.ipynb new file mode 100644 index 0000000..e690bf9 --- /dev/null +++ b/content/Azure/glossary.ipynb @@ -0,0 +1,34 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1f0027c2-df7b-426e-b4f4-3e1db9916d14", + "metadata": {}, + "source": [ + "# Glossary\n", + "\n", + "* **Account** - The Google account (email) associated with an individual. This is the identity that you use to access console and takes the form of an email address.\n", + "* **Project** - Resources and services in Google Cloud are created within a single Project. \n", + "* **Project Name** - The long human readable name of your project. You can change this.\n", + "* **Project ID** - an alpha-numeric string identifier for the project. This is not changeable.\n", + "* **Project Number** - a long number that also identifies the project but is rarely used (it is an internal identifier). \n", + "* **Billing Account** - an account used to pay for Google Cloud services. A Billing Account is associated with a Project and enables resource allocation. A project has only one Billing Account associated with it. A Billing account can be used for multiple Projects." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Bash", + "language": "bash", + "name": "bash" + }, + "language_info": { + "codemirror_mode": "shell", + "file_extension": ".sh", + "mimetype": "text/x-sh", + "name": "bash" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/content/Azure/intro_to_compute_cli.ipynb b/content/Azure/intro_to_compute_cli.ipynb deleted file mode 100644 index 0bb8ebf..0000000 --- a/content/Azure/intro_to_compute_cli.ipynb +++ /dev/null @@ -1,260 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Intro to Compute CLI\n", - "\n", - "**Overview**\n", - " \n", - "**Teaching:**\n", - "\n", - "**Exercises:**\n", - "\n", - "**Questions:**\n", - " * How do I create my own computer in the cloud?\n", - "\n", - "**Objectives:**\n", - " * Allocate a virtual machine in Azure.\n", - " * Learn how to connect to a virtual machine using ssh in the cloud shell." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Open the cloud shell (See: intro_to_cli)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Define some environment variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "RG=\"demo_rg\"\n", - "LOCATION=eastus\n", - "VM=\"demo_vm\"\n", - "STGE_ACCT=\"demo_stor_ac\"\n", - "CTR=\"demo_stge_ctr\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Create resource group" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "az group create --name $RG --location $LOCATION" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Create a VM" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If this is the fist time running this command (or your ~/.ssh dir does not have an id_rsa key pair). It will generate a new key pair id_rsa in ~/.ssh. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "az vm create --resource-group $RG \\\n", - " --name $VM \\\n", - " --image UbuntuLTS \\\n", - " --admin-username demouser \\\n", - " --generate-ssh-keys \\\n", - " --output json \\\n", - " --verbose " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To create a VM with an existing pair first create a new key pair" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ssh-keygen" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You will be prompted to \"Enter file in which to save the key\", type \"id_rsa\". This will create a key pair in the current dir." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here you should enter a passphrase (a series of words) to protect the key. You will be asked to re-enter the passphrase as shown below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "Enter same passphrase again:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After successfully retyping the passphrase the key generation process will continue showing similar message as follows (the fingerprint and art will look different):" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note: The following using \"--ssh-key-values\" to define which keys to use." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "az vm create --name $VM \n", - " --resource-group $RG \n", - " --image UbuntuLTS \n", - " --admin-username demouser \n", - " --ssh-key-values id_rsa.pub" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Show VM details (all)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "az vm show --name $VM --resource-group $RG" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Login into VM" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the public IP address from the output above.\n", - "If you generated a new key pair using \"--generate-ssh-keys\", login with the following command." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ssh " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If you used the command with \"--ssh-key-values id_rsa.pub\" to use existing keys, use the following command to logiin:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "ssh -i /id_rsa " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "clean up\n", - "\n", - "The --no-wait parameter keeps the CLI from blocking while the deletion takes place." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "az group delete --name $RG --no-wait" - ] - } - ], - "metadata": { - "interpreter": { - "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.8" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/content/_toc.yml b/content/_toc.yml index 649e2a9..e23eff0 100644 --- a/content/_toc.yml +++ b/content/_toc.yml @@ -32,6 +32,7 @@ parts: - file: Azure/06_running_analysis - file: Azure/07_monitoring_costs - file: Azure/08_cleaning_up_resources + - file: Azure/glossary - file: GCP/intro_to_GCP_Essentials sections: From 6bf38b28d13b859046a67b1f509e743268d3adde Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Wed, 2 Feb 2022 23:25:13 +0000 Subject: [PATCH 02/19] Fix warnings, semantic markup, content * Combine part1 and part2 of compute to align with numbering and not split a core concept across an episode. * Start moving CLI to bash kernel * Added CLI screenshots. * Used markup not HTML for images. * Fixed warnings * Added some headers. --- content/AWS/01_intro_to_cloud_console.ipynb | 5 +- ..._part1.ipynb => 02_intro_to_compute.ipynb} | 134 +++++++++++++----- ....ipynb => 03_intro_to_cloud_storage.ipynb} | 36 ++--- content/AWS/03_intro_to_compute_part2.ipynb | 99 ------------- content/AWS/05_intro_to_cli.ipynb | 100 +++++++------ content/AWS/images/cloudshell.png | Bin 0 -> 48858 bytes content/AWS/images/console-cloudshell.png | Bin 0 -> 31570 bytes content/AWS/intro_to_AWS_Essentials.ipynb | 9 +- content/_toc.yml | 5 +- 9 files changed, 177 insertions(+), 211 deletions(-) rename content/AWS/{02_intro_to_compute_part1.ipynb => 02_intro_to_compute.ipynb} (65%) rename content/AWS/{04_intro_to_cloud_storage.ipynb => 03_intro_to_cloud_storage.ipynb} (75%) delete mode 100644 content/AWS/03_intro_to_compute_part2.ipynb create mode 100644 content/AWS/images/cloudshell.png create mode 100644 content/AWS/images/console-cloudshell.png diff --git a/content/AWS/01_intro_to_cloud_console.ipynb b/content/AWS/01_intro_to_cloud_console.ipynb index 5b51c1a..4f1e4f2 100644 --- a/content/AWS/01_intro_to_cloud_console.ipynb +++ b/content/AWS/01_intro_to_cloud_console.ipynb @@ -101,7 +101,6 @@ "metadata": {}, "source": [ "```{admonition} Exercise\n", - ":class: attention\n", "\n", "* What is your IAM username? \n", "* Why is IAM important?\n", @@ -112,7 +111,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -126,7 +125,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.7.10" } }, "nbformat": 4, diff --git a/content/AWS/02_intro_to_compute_part1.ipynb b/content/AWS/02_intro_to_compute.ipynb similarity index 65% rename from content/AWS/02_intro_to_compute_part1.ipynb rename to content/AWS/02_intro_to_compute.ipynb index b18baa6..130f410 100644 --- a/content/AWS/02_intro_to_compute_part1.ipynb +++ b/content/AWS/02_intro_to_compute.ipynb @@ -46,7 +46,7 @@ "id": "bc5d082d", "metadata": {}, "source": [ - "We begin with the AWS console again. Under the \"Build a Solution\" panel, select `Launch a Virtual Machine`\n", + "We begin with the AWS console again. Under the \"Build a Solution\" panel, select **Launch a Virtual Machine**\n", "\n", "![Start page for the AWS console](images/console_ec2.png)\n", "\n", @@ -73,58 +73,61 @@ "id": "b9809503", "metadata": {}, "source": [ - "## 1. Select an AMI\n", + "## Select an AMI (Step 1)\n", "\n", "An Amazon Machine Image (AMI) is a template that Amazon uses to describe the operating system, disk type and all the software configuration that is needed to make sure a computer runs smoothly. Imagine that you are purchasing a new laptop; fresh out of the box, the laptop is pre-configured with an operating system (e.g. Windows, Mac OS, Ubuntu etc.), configuration files that tells the laptop what peripherals are attached, and pre-installed software like Adobe PDF reader. An AMI contains all this information so that your EC2 instance runs exactly like it would a new laptop out of the box! There is much more to learn about AMIs and how they can used for collaboration and data sharing but that is not within the scope of CLASS Essentials. \n", "\n", "As you scroll through the AMI list (Figure 2) you will notice that the list contains offerings from various vendors (e.g. Amazon, RedHat, Windows, etc.). We will be choosing the Ubuntu operating system for flexibility and versatility (can be used outside of the AWS ecosystem). \n", "\n", - "To list all the Free Tier AMIs, check the box on the right that says ```Free tier only```.\n", + "To list all the Free Tier AMIs, check the box on the right that says **Free tier only**.\n", "\n", - "\n", + "![ec2-ami](images/ec2-ami.png)\n", + "Step 1 - Select an AMI - Free Tier Only\n", "\n", - "
Figure 2: Step 1 - Select an AMI - Free Tier Only

\n", + "Scroll to `Ubuntu Server 20.04 LTS(HVM), SSD Volume Type` Select `64-bit(x86)`. \n", "\n", - "Scroll to ```Ubuntu Server 20.04 LTS(HVM), SSD Volume Type``` (Figure 3). Select ```64-bit(x86)```. \n", - "\n", - "\n", - "\n", - "
Figure 3: Step 1 - Select an AMI - Operating System Selection

" + "![ec2-ubuntu](images/ec2-ubuntu.png)\n", + "Step 1 - Select an AMI - Operating System Selection" ] }, { "cell_type": "markdown", - "id": "17597535", - "metadata": {}, + "id": "9c658eed-3cf6-4f46-bde6-f3b481874013", + "metadata": { + "tags": [] + }, "source": [ - "## Step 2: Choose an Instance Type\n", + "## Choose an Instance Type (Step 2)\n", "\n", "Choosing an instance type is choosing the hardware for your computing system: you get to pick the number of CPUs and memory size for your instance. \n", "\n", "Instance types are group by [**families**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) and denotes whether, for example, an instance is optimized for batch processing (compute-optimized, C-family), optimized for databases (memory-optimized, R-family) or has accelerated hardware (GPUs) for AI or Machine Learning pipelines. \n", "\n", - "When you choose an Instance Type (Figure 3), the screen show additional information about the selected instance type including the number of CPUs, the memory size, the type of storage and information about networking. \n", + "When you choose an Instance Type (below), the screen show additional information about the selected instance type including the number of CPUs, the memory size, the type of storage and information about networking. \n", + "![ec2-ubuntu](images/ec2-ubuntu.png)\n", "\n", "In the Instance Storage (GB) column, you will notice a term called **EBS**. EBS is the acronym for **Elastic Block Storage** and is analogous to the hard disk or boot drive on your personal computer or laptop. More details about EBS and different kinds of disk storage on EC2 instances are beyond the scope of CLASS Essentials. \n", "\n", "```{admonition} Note\n", ":class: note\n", - "The four most common types of storage you will encounter on AWS are: Elastic Block Storage (EBS), Elastic File Storage (EFS), Simple Storage Service (s3) and s3 Glacier. In the simplest terms, EBS is analogous to a computer hard drive and EFS is analogous to a network file system (NFS) or shared file system. s3 is AWS's object storage which is discussed [here](05_intro_to_cloud_storage). s3 Glacier is a cost-effective way of storing s3 files that you do not need to access frequently. \n", + "The four most common types of storage you will encounter on AWS are: Elastic Block Storage (EBS), Elastic File Storage (EFS), Simple Storage Service (s3) and s3 Glacier. In the simplest terms, EBS is analogous to a computer hard drive and EFS is analogous to a network file system (NFS) or shared file system. s3 is AWS's object storage which is discussed [here](03_intro_to_cloud_storage). s3 Glacier is a cost-effective way of storing s3 files that you do not need to access frequently. \n", "```\n", "\n", - "Here will will select a ```t2.micro``` instance which is Free Tier Eligible but only has 1vCPU and 1 GiB of memory. The cost of running a t2.micro instance is " + "Here will will select a `t2.micro` instance which is Free Tier Eligible but only has 1vCPU and 1 GiB of memory. The cost of running a **t2.micro** instance is, at the time of publication, as follows: \n", + "\n", + "![Choose an Instance Type](images/ec2-type.png)\n", + "\n", + "Select **Next: Configure Instance Details**." ] }, { "cell_type": "markdown", - "id": "4ee655a3", - "metadata": {}, + "id": "285aad80-5670-4bdf-b9c3-86439720e9e1", + "metadata": { + "tags": [] + }, "source": [ - "![Choose an Instance Type](images/ec2-type.png)\n", - "\n", - "Select ```Next: Configure Instance Details```.\n", - "\n", - "## Step 3: Configure Instance Details\n", + "## Configure Instance Details (Step 3)\n", "Step 3 in creating an EC2 instance involves a rudimentary understanding of several key AWS and cloud jargon (Figure 4). While delving deeper into some of the terminology is outside of the scope of CLASS Essentials, we go will through these terms in brief as we learn how to configure your EC2 instance. For the most part, we will **leave the settings as default**. CLASS Intermediate offers a more in depth discussion on cloud concepts. \n", "\n", "![Configure Instance Details](images/ec2-configure.png)\n", @@ -133,7 +136,7 @@ "\n", "```{admonition} Note\n", ":class: note\n", - "Recall that we learned about regions in the [previous chapter](./01_intro_to_cloud_console). \n", + "Recall that we learned about regions in the [previous chapter](01_intro_to_cloud_console). \n", "```\n", "\n", "**Purchasing Options** : Throughout your AWS journey, you will hear the term **Spot Instances**. Spot instances make use of the servers that go unused in AWS data centers to minimize costs. Recall that AWS has many data centers spread across the globe and not all their servers are utilized at 100% capacity at all times. Amazon uses Spot Instances as a flexible way to profit from extra capacity. Users have access to Spot Instances through a bidding process, sometimes users can save up to 90% off the on-deman compute instance this way! We will not expand much more on Spot Instances in CLASS Essentials but if you are interested, I2's CLASS Intermediate talks more " @@ -154,22 +157,87 @@ }, { "cell_type": "markdown", - "id": "1b8642f4", + "id": "b36239c2-a76b-46e7-a495-d6da6e4598a4", "metadata": {}, - "source": [] + "source": [ + "## Review Progress\n", + "\n", + "In the previous steps we learned how to launch a virtual machine from the AWS console. We selected an Amazon Machine Image (AMI), Chose an Instance and Configured Launch Settings. Recall that there are 7 steps to walk through to create a new EC2 instance; we will go through each in detail: \n", + "\n", + "1. Select an AMI\n", + "2. Choose Instance Type\n", + "3. Configure Instance \n", + "4. Add Storage\n", + "5. Add Tags\n", + "6. Configure Security Group\n", + "7. Review/Launch" + ] }, { - "cell_type": "code", - "execution_count": null, - "id": "fff35db8", + "cell_type": "markdown", + "id": "07b8ec13-c056-4236-ac14-12926bd7f872", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Add Storage (Step 4)\n", + "\n", + "Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices.\n", + "\n", + "![ec2-storage](images/ec2-storage.png)" + ] + }, + { + "cell_type": "markdown", + "id": "a29c2a86-c864-493c-9e3f-0b4cced47dd9", + "metadata": {}, + "source": [ + "## Add Tags (Step 5)\n", + "\n", + "[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. e\n", + "\n", + "![ec2-tags](images/ec2-tags.png)" + ] + }, + { + "cell_type": "markdown", + "id": "45d695b3-c39b-4889-af48-a0bfb901cb32", + "metadata": {}, + "source": [ + "## Step 6: Configure Security Group (Step 6)\n", + "\n", + "A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22 so that we can securely log in to the EC2 instance that we create. \n", + "\n", + "![ec2-sg](images/ec2-sg.png)" + ] + }, + { + "cell_type": "markdown", + "id": "5334a614-fb7f-409f-8aba-d1f18c92bc60", + "metadata": {}, + "source": [ + "## Step 7: Review Instance Launch\n", + "\n", + "Next review the details and click on **Launch**\n", + "![ec2-launch](images/ec2-launch.png)\n", + "\n", + "You will be prompted to generate a ssh-key to access the virtual machine. For now we will create a new one by entering `essentials-aws` in the key name and clicking **Download**\n", + "![ec2-sshkey](images/ec2-sshkey.png)\n", + "\n", + "You shoudl now see the following message\n", + "![ec2-confirm](images/ec2-confirm.png)\n", + "\n", + "Congratulations, you have created a virtual machine.\n", + "\n", + "```{admonition} Caution\n", + ":class: caution\n", + "\n", + "We will delete this virtual machine later. If you do not, **you will be charged for the running machine**.\n", + "```" + ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -183,7 +251,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.7.10" } }, "nbformat": 4, diff --git a/content/AWS/04_intro_to_cloud_storage.ipynb b/content/AWS/03_intro_to_cloud_storage.ipynb similarity index 75% rename from content/AWS/04_intro_to_cloud_storage.ipynb rename to content/AWS/03_intro_to_cloud_storage.ipynb index 43d669f..8c4307d 100644 --- a/content/AWS/04_intro_to_cloud_storage.ipynb +++ b/content/AWS/03_intro_to_cloud_storage.ipynb @@ -32,57 +32,51 @@ "id": "338a2a01", "metadata": {}, "source": [ + "## Finding the S3 Storage Service\n", "There are three types of [cloud data storage](https://aws.amazon.com/what-is-cloud-storage/): object storage, file storage, and block storage. In this module, we will focus on object storage (e.g. Amazon Simple Storage Service (S3)).\n", "\n", "Recall that there are multiple ways to locate an AWS service: Using the search bar and using the home button at the top left hand of the screen. Here, we will search for the service **s3**. \n", "\n", - "\n", - "\n", - "" + "![s3-launch-1](images/s3_launch_1.png)" ] }, { "cell_type": "markdown", - "id": "177860a7", + "id": "983c6867-2d6b-43d2-b8b2-1d527084883d", "metadata": {}, "source": [ "Here we will click into the s3 service page. Note that the region here is Global. s3 namespaces, meaning the name of the buckets are global, which means that no two buckets can have the same name even if they reside in a different region. \n", "\n", - "Click ```Create Bucket```. \n", + "Click `Create Bucket`. \n", "\n", - "" + "![s3-launch-2](images/s3_launch_2.png)" ] }, { "cell_type": "markdown", - "id": "9e0f64bf", + "id": "941baf18-7388-4086-9947-a7c4a4240d53", "metadata": {}, "source": [ - "This will bring you to the Create Bucket page. Here we will choose a name for our new bucket - it will need to be a unique global namespace. Here I will use my identifying IAM (user1783892) to create a bucket. We will name my bucket ```bucket-user1783892```, leave the region as us-east-1 as well as all the default settings and click ```Create Bucket```\n", + "## Create a Bucket\n", + "\n", + "This will bring you to the Create Bucket page. Here we will choose a name for our new bucket - it will need to be a unique global namespace. Here I will use my identifying IAM (user1783892) to create a bucket. We will name my bucket `bucket-user1783892`, leave the region as us-east-1 as well as all the default settings and click `Create Bucket`\n", "\n", - "" + "![s3-launch](images/s3_launch_3.png)" ] }, { "cell_type": "markdown", - "id": "8c3eca82", + "id": "01184ed1-3844-4ea0-ba9c-2da13a8174ce", "metadata": {}, "source": [ - "" + "You should now see the bucket being created as follows:\n", + "![s3-launch-4](images/s3_launch_4.png)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a8b8f92", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -96,7 +90,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.7.10" } }, "nbformat": 4, diff --git a/content/AWS/03_intro_to_compute_part2.ipynb b/content/AWS/03_intro_to_compute_part2.ipynb deleted file mode 100644 index 60316dc..0000000 --- a/content/AWS/03_intro_to_compute_part2.ipynb +++ /dev/null @@ -1,99 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "502f2360", - "metadata": {}, - "source": [ - "In the previous lesson we learned how to launch a virtual machine from the AWS console. We selected an Amazon Machine Image (AMI), Chose an Instance and Configured Launch Settings. Recall that there are 7 steps to walk through to create a new EC2 instance; we will go through each in detail: \n", - "\n", - "1. Select an AMI\n", - "2. Choose Instance Type\n", - "3. Configure Instance \n", - "4. Add Storage\n", - "5. Add Tags\n", - "6. Configure Security Group\n", - "7. Review/Launch" - ] - }, - { - "cell_type": "markdown", - "id": "b9809503", - "metadata": {}, - "source": [ - "## Step 4. Add Storage\n", - "\n", - "Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices.\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "17597535", - "metadata": {}, - "source": [ - "## Step 5: Add Tags\n", - "\n", - "[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. e\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "4ee655a3", - "metadata": {}, - "source": [ - "## Step 6: Configure Security Group\n", - "\n", - "A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22 so that we can securely log in to the EC2 instance that we create. \n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "5235bac7", - "metadata": {}, - "source": [ - "## Step 7: Review Instance Launch\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "113ba95a", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/content/AWS/05_intro_to_cli.ipynb b/content/AWS/05_intro_to_cli.ipynb index d66a8d0..089c3b2 100644 --- a/content/AWS/05_intro_to_cli.ipynb +++ b/content/AWS/05_intro_to_cli.ipynb @@ -26,31 +26,55 @@ }, { "cell_type": "markdown", - "id": "8e8dd80c", + "id": "12c0c7ed-7ff4-4826-a4ef-3aedb0f22143", "metadata": {}, "source": [ + "## Open a CloudShell\n", + "\n", "Now that we have successfully created an EC2 Instance and an s3 bucket, we will explore ways that these two AWS resources can interact. While your s3 bucket from the previously lesson is launching, we will navigate to the AWS CloudShell. You can find in the top toolbar of the console. \n", "\n", - "Clicking the icon will launch the AWS CloudShell. \n", + "Clicking the icon will launch the AWS CloudShell.\n", + "![console-cloudshell](images/console-cloudshell.png)\n", "\n", "If this is your first time using the cloud console, you may encounter a pop up. It is fine to dismiss it. \n", "\n", "Once we have launched the CloudShell, we can run some commands. Here a fundamental knowledge of unix commands may be useful but we will utilize the several aws-cli commands to help you get a feel of what the AWS CLI can do. At the prompt (the prompt is where is says [cloudshell-user@ip-XXXXXXX~]$), we will test out these commands:\n", + "![cloudshell](images/cloudshell.png)" + ] + }, + { + "cell_type": "markdown", + "id": "175776ed-7c95-468a-90c9-1bbdec3c5328", + "metadata": {}, + "source": [ + "## Using the CLI\n", "\n", - "To list the contents: \n", - "\n", - "``` bash\n", - "ls\n", - "\n", - "```\n", - "\n", - "To check which file directory you are working in:\n", - "\n", - "```bash\n", - "pwd\n", - "\n", - "```\n", - "\n", + "To check which file directory you are working in" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "55024290-8843-4ae2-a81f-9ba6c5bdec13", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/home/ec2-user\n" + ] + } + ], + "source": [ + "pwd" + ] + }, + { + "cell_type": "markdown", + "id": "47bdf3d8-3772-4f95-a119-f1f5eba717a5", + "metadata": {}, + "source": [ "To use the AWS command to list your s3 buckets:\n", "\n", "```bash\n", @@ -68,20 +92,15 @@ "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. \n", "\n", "```bash\n", - "cat > hemingway.txt\n", - "The world breaks everyone. \n", + "echo \"The world breaks everyone\" > hemingway.txt\n", "```\n", "\n", - "Press ^C to exit edit mode. \n", - "\n", "Now let's move the file into our s3 bucket. \n", "\n", "```bash\n", "aws s3 mv ./hemingway.txt s3://bucketname\n", "\n", - "```\n", - "\n", - "\n" + "```" ] }, { @@ -89,7 +108,7 @@ "id": "9ed2bb8f", "metadata": {}, "source": [ - "" + "![cli-commands-1](images/cli_commands_1.png)" ] }, { @@ -98,38 +117,25 @@ "metadata": {}, "source": [ "```{admonition} Exercise\n", - ":class: attention\n", + ":class:\n", "\n", + "* How can you see the contents of your bucket through the CLI? \n", "* How can you see the contents of your bucket through the AWS console? \n", - "````" - ] - }, - { - "cell_type": "markdown", - "id": "c27cdc13", - "metadata": {}, - "source": [ - "# Using the CLI to access resources" + "```\n" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" + "display_name": "Bash", + "language": "bash", + "name": "bash" }, "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.9.5" + "codemirror_mode": "shell", + "file_extension": ".sh", + "mimetype": "text/x-sh", + "name": "bash" } }, "nbformat": 4, diff --git a/content/AWS/images/cloudshell.png b/content/AWS/images/cloudshell.png new file mode 100644 index 0000000000000000000000000000000000000000..bc22f5ec451b4f63b8bbd0a15b191b77af3cb567 GIT binary patch literal 48858 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 literal 0 HcmV?d00001 diff --git a/content/AWS/images/console-cloudshell.png b/content/AWS/images/console-cloudshell.png new file mode 100644 index 0000000000000000000000000000000000000000..0e713ae8a69b91c811221c8be9a9770d47342f8b GIT binary patch literal 31570 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 O{$7g9ixrC)`usnVaax4{ literal 0 HcmV?d00001 diff --git a/content/AWS/intro_to_AWS_Essentials.ipynb b/content/AWS/intro_to_AWS_Essentials.ipynb index 7db8505..3a1b97e 100644 --- a/content/AWS/intro_to_AWS_Essentials.ipynb +++ b/content/AWS/intro_to_AWS_Essentials.ipynb @@ -10,9 +10,8 @@ "The modules in this lesson are: \n", "\n", "1. [Introduction to the AWS Cloud Console](./01_intro_to_cloud_console)\n", - "2. [Introduction to Cloud Compute - Part 1](./02_intro_to_compute_part1)\n", - "3. [Introduction to Cloud Compute - Part 2](./03_intro_to_compute_part2)\n", - "4. [Introduction to Cloud Storage](./04_intro_to_cloud_storage)\n", + "2. [Introduction to Cloud Compute](./02_intro_to_compute)\n", + "4. [Introduction to Cloud Storage](./03_intro_to_cloud_storage)\n", "5. [Introduction to the AWS CLI](./05_intro_to_cli)\n", "6. [Running Analysis on the Cloud](./06_running_analysis)\n", "7. [Monitoring Costs](./07_monitoring_costs)\n", @@ -22,7 +21,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -36,7 +35,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.7.10" } }, "nbformat": 4, diff --git a/content/_toc.yml b/content/_toc.yml index 0ace1bd..3a2f2a8 100644 --- a/content/_toc.yml +++ b/content/_toc.yml @@ -14,9 +14,8 @@ parts: - file: AWS/intro_to_AWS_Essentials sections: - file: AWS/01_intro_to_cloud_console - - file: AWS/02_intro_to_compute_part1 - - file: AWS/03_intro_to_compute_part2 - - file: AWS/04_intro_to_cloud_storage + - file: AWS/02_intro_to_compute + - file: AWS/03_intro_to_cloud_storage - file: AWS/05_intro_to_cli - file: AWS/06_running_analysis - file: AWS/07_monitoring_costs From 46fdae5336006850fba289344f9bf4c99399a519 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 00:28:16 +0000 Subject: [PATCH 03/19] AWS: Intro to CLI in AWS CloudShell updates and run --- content/AWS/05_intro_to_cli.ipynb | 374 +++++++++++++++++++++++++++--- 1 file changed, 340 insertions(+), 34 deletions(-) diff --git a/content/AWS/05_intro_to_cli.ipynb b/content/AWS/05_intro_to_cli.ipynb index 089c3b2..025b5d3 100644 --- a/content/AWS/05_intro_to_cli.ipynb +++ b/content/AWS/05_intro_to_cli.ipynb @@ -49,12 +49,12 @@ "source": [ "## Using the CLI\n", "\n", - "To check which file directory you are working in" + "Change to the home directory and check which file directory you are working in" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "id": "55024290-8843-4ae2-a81f-9ba6c5bdec13", "metadata": {}, "outputs": [ @@ -62,53 +62,330 @@ "name": "stdout", "output_type": "stream", "text": [ - "/home/ec2-user\n" + "/home/cloudshell-user\n" ] } ], "source": [ + "cd ~\n", "pwd" ] }, { "cell_type": "markdown", - "id": "47bdf3d8-3772-4f95-a119-f1f5eba717a5", + "id": "33d9fba8-c7d1-4266-9714-9093b04fcf8b", "metadata": {}, "source": [ - "To use the AWS command to list your s3 buckets:\n", - "\n", - "```bash\n", - "aws s3 ls\n", - "\n", - "```\n", - "\n", - "Let's list the contents of your s3 bucket:\n", - "\n", - "```bash\n", - "aws s3 ls s3://bucketname\n", - "\n", - "```\n", - "\n", - "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. \n", - "\n", - "```bash\n", - "echo \"The world breaks everyone\" > hemingway.txt\n", - "```\n", - "\n", - "Now let's move the file into our s3 bucket. \n", - "\n", - "```bash\n", - "aws s3 mv ./hemingway.txt s3://bucketname\n", + "Check what is there (probably nothing)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "17edba1b-49e2-4378-9a85-ac9326c0f056", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hemingway.txt\n" + ] + } + ], + "source": [ + "ls" + ] + }, + { + "cell_type": "markdown", + "id": "57f2bf71-60fe-4635-bb8b-df1e46347f0d", + "metadata": {}, + "source": [ + "Set the time and date to your local time" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fcded343-770b-49e7-851c-825b66ff2ee1", + "metadata": {}, + "outputs": [], + "source": [ + "export TZ=US/Central" + ] + }, + { + "cell_type": "markdown", + "id": "627831ea-7c22-4073-af33-bbc508bd03b4", + "metadata": {}, + "source": [ + "To use the AWS command to list your s3 buckets:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a1e47882-e2a7-4dd8-beb4-1a5fcde2ff52", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-02-02 17:53:39 essentials-test-learner-2022-02-02\n" + ] + } + ], + "source": [ + "aws s3 ls" + ] + }, + { + "cell_type": "markdown", + "id": "d3798517-272c-4710-817a-3b8ea9ff3443", + "metadata": {}, + "source": [ + "## Using S3 with the CLI\n", "\n", - "```" + "Use a variable for the bucket name and display it. Be sure to replace `learner` with your user username (for example `user1766969`)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2a3fb47f-3032-4b1a-92e1-885b3b3daefb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "essentials-test-learner-2022-02-02\n" + ] + } + ], + "source": [ + "BUCKET=essentials-test-learner-$(date +%F)\n", + "echo $BUCKET" + ] + }, + { + "cell_type": "markdown", + "id": "985dd2a1-5191-4166-8e8f-ae7f47d5a983", + "metadata": {}, + "source": [ + "Let's list the contents of your s3 bucket:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f0e7d0eb-af86-428b-8975-967099734116", + "metadata": {}, + "outputs": [], + "source": [ + "aws s3 ls s3://$BUCKET" ] }, { "cell_type": "markdown", - "id": "9ed2bb8f", + "id": "ae11d3f5-0c53-4e4c-a211-31ea00455e75", "metadata": {}, "source": [ - "![cli-commands-1](images/cli_commands_1.png)" + "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "49cbd384-550f-4751-8a68-466d653c4ddf", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "echo \"The world breaks everyone\" > hemingway.txt" + ] + }, + { + "cell_type": "markdown", + "id": "52a1baf9-1161-4d9b-a6bc-16c970d6a7fa", + "metadata": {}, + "source": [ + "Check the file just to be sure" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e9bd3f82-35ef-4676-8101-5e0b282104ba", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hemingway.txt\n" + ] + } + ], + "source": [ + "ls" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1ef90f2d-bf70-4012-ab9c-9ff67e72d98c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The world breaks everyone\n" + ] + } + ], + "source": [ + "cat hemingway.txt" + ] + }, + { + "cell_type": "markdown", + "id": "c41dae7d-d5f9-46e6-a5ac-52fe777a44e6", + "metadata": {}, + "source": [ + "Now let's move the file into our s3 bucket. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "672312e5-c532-4ff9-8d29-2e4bf056e88e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "move: ./hemingway.txt to s3://essentials-test-learner-2022-02-02/hemingway.txt\n" + ] + } + ], + "source": [ + "aws s3 mv ./hemingway.txt s3://$BUCKET" + ] + }, + { + "cell_type": "markdown", + "id": "213da888-c131-4732-9739-b5a149e1b3b0", + "metadata": {}, + "source": [ + "Check the it was a move (not a copy) by checking the file is gone" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4c66a71e-9e34-4178-9559-3af88cc73503", + "metadata": {}, + "outputs": [], + "source": [ + "ls" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "3d8888ca-1ef3-4c82-8ac5-f21e556b089e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "download: s3://essentials-test-learner-2022-02-02/hemingway.txt to ./hemingway.txt\n" + ] + } + ], + "source": [ + "aws s3 cp s3://$BUCKET/hemingway.txt ." + ] + }, + { + "cell_type": "markdown", + "id": "c56d3469-1b92-4fd6-aaae-547bd9db2331", + "metadata": {}, + "source": [ + "Check that we got the file back" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "9edabccc-1793-4225-9ef5-ae83f15a51c8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hemingway.txt\n" + ] + } + ], + "source": [ + "ls" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9f110d51-24cb-48c0-9d4d-2b98b44cbf96", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The world breaks everyone\n" + ] + } + ], + "source": [ + "cat hemingway.txt" + ] + }, + { + "cell_type": "markdown", + "id": "84f4876d-0bb2-4987-9821-2a1d172f98af", + "metadata": {}, + "source": [ + "Cleanup after ourselves" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "704f3842-3f94-47f8-922d-ac9e69573460", + "metadata": {}, + "outputs": [], + "source": [ + "rm hemingway.txt" + ] + }, + { + "cell_type": "markdown", + "id": "78aa0823-bdb7-4edc-8296-6367e9452563", + "metadata": {}, + "source": [ + "```{admonition} Danger\n", + ":class: Danger\n", + "\n", + "The `aws s3 mv` command permanently deletes files. They cannot be recovered!\n", + "```" ] }, { @@ -119,9 +396,38 @@ "```{admonition} Exercise\n", ":class:\n", "\n", - "* How can you see the contents of your bucket through the CLI? \n", - "* How can you see the contents of your bucket through the AWS console? \n", - "```\n" + "* How could you copy the original file instead of move it? \n", + "* How can you see the contents of your bucket through the AWS console?\n", + "* How would you remove the object `hemingway.txt` from your bucket?\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "8d9a34a4-2a3a-4351-b2ae-73b8a519f442", + "metadata": {}, + "source": [ + "## Cleanup\n", + "\n", + "Remove the object from the bucket" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "536e1b46-e1e1-4158-b323-4d4d8c8e83ff", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "delete: s3://essentials-test-learner-2022-02-02/hemingway.txt\n" + ] + } + ], + "source": [ + "aws s3 rm s3://$BUCKET/hemingway.txt" ] } ], From 32a55bbaeda1253a0ec260d70df46e862663d9ec Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Wed, 2 Feb 2022 18:23:48 -0600 Subject: [PATCH 04/19] Push essentials-cloudshell key to the VM for AWS --- scripts/aws-create.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/aws-create.sh b/scripts/aws-create.sh index 643f523..2f8a073 100755 --- a/scripts/aws-create.sh +++ b/scripts/aws-create.sh @@ -52,6 +52,7 @@ echo "+++ configuring VM" ssh ec2-user@$IP -A < .ssh/known_hosts git config --global color.ui auto @@ -60,6 +61,7 @@ git config --global pull.ff only git config --global user.name "$(git config user.name)" git config --global user.email "$(git config user.email)" git clone --branch $BRANCH $REPO +echo $(cat ~/.ssh/id_essentials-cloudshell.pub) >> .ssh/authorized_keys EOF echo "+++ configure ~/.ssh/$VM.config" From b4dab85ac9a956cd3126d122ce082f9729dd3426 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 18:38:39 +0000 Subject: [PATCH 05/19] Rename sharing result to 06. --- ...06b_sharing_results.ipynb => 06_sharing_results.ipynb} | 0 content/GCP/intro_to_GCP_Essentials.ipynb | 8 +------- content/_toc.yml | 2 +- 3 files changed, 2 insertions(+), 8 deletions(-) rename content/GCP/{06b_sharing_results.ipynb => 06_sharing_results.ipynb} (100%) diff --git a/content/GCP/06b_sharing_results.ipynb b/content/GCP/06_sharing_results.ipynb similarity index 100% rename from content/GCP/06b_sharing_results.ipynb rename to content/GCP/06_sharing_results.ipynb diff --git a/content/GCP/intro_to_GCP_Essentials.ipynb b/content/GCP/intro_to_GCP_Essentials.ipynb index 6bff3c8..e486192 100644 --- a/content/GCP/intro_to_GCP_Essentials.ipynb +++ b/content/GCP/intro_to_GCP_Essentials.ipynb @@ -15,16 +15,10 @@ "4. [Introduction to the Cloud CLI](./04_intro_to_cli)\n", "4. [Using the Cloud Storage CLI](./05_cli_storage)\n", "6. [Running Analysis on the Cloud](./06_running_analysis)\n", - " and [Sharing Results](./06b_sharing_results)\n", + " and [Sharing Results](./06_sharing_results) (optional)\n", "7. [Monitoring Costs](./07_monitoring_costs)\n", "8. [Cleaning up Resources and Best Practices](./08_cleaning_up_resources)\n" ] - }, - { - "cell_type": "markdown", - "id": "78058910", - "metadata": {}, - "source": [] } ], "metadata": { diff --git a/content/_toc.yml b/content/_toc.yml index 3a2f2a8..fe9bcd4 100644 --- a/content/_toc.yml +++ b/content/_toc.yml @@ -41,7 +41,7 @@ parts: - file: GCP/04_intro_to_cli - file: GCP/05_cli_storage - file: GCP/06_running_analysis - - file: GCP/06b_sharing_results + - file: GCP/06_sharing_results - file: GCP/07_monitoring_costs - file: GCP/08_cleaning_up_resources - file: GCP/glossary From df67f49a436fa2d6b7c001a0e63ab8d7563af1c0 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 19:36:05 +0000 Subject: [PATCH 06/19] GCP: Glossary additions --- content/GCP/05_cli_storage.ipynb | 5 ++++- content/GCP/glossary.ipynb | 21 +++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/content/GCP/05_cli_storage.ipynb b/content/GCP/05_cli_storage.ipynb index 4076e4f..00d761a 100644 --- a/content/GCP/05_cli_storage.ipynb +++ b/content/GCP/05_cli_storage.ipynb @@ -211,7 +211,10 @@ "cell_type": "code", "execution_count": 7, "id": "ecc0e4fe-c9d0-4edd-9a0c-56b5b9ec7c54", - "metadata": {}, + "metadata": { + "scrolled": true, + "tags": [] + }, "outputs": [ { "name": "stdout", diff --git a/content/GCP/glossary.ipynb b/content/GCP/glossary.ipynb index e690bf9..b0ef7a6 100644 --- a/content/GCP/glossary.ipynb +++ b/content/GCP/glossary.ipynb @@ -7,12 +7,21 @@ "source": [ "# Glossary\n", "\n", - "* **Account** - The Google account (email) associated with an individual. This is the identity that you use to access console and takes the form of an email address.\n", - "* **Project** - Resources and services in Google Cloud are created within a single Project. \n", - "* **Project Name** - The long human readable name of your project. You can change this.\n", - "* **Project ID** - an alpha-numeric string identifier for the project. This is not changeable.\n", - "* **Project Number** - a long number that also identifies the project but is rarely used (it is an internal identifier). \n", - "* **Billing Account** - an account used to pay for Google Cloud services. A Billing Account is associated with a Project and enables resource allocation. A project has only one Billing Account associated with it. A Billing account can be used for multiple Projects." + " * **Account** - The Google account (email) associated with an individual. This is the identity that you use to access console and takes the form of an email address.\n", + " * **API** - Application Programming Interface (API). An external interface for a library or software, usually well documented. The cloud uses remote accessible APIs to allocate and control resources.\n", + " * **Billing Account** - an account used to pay for Google Cloud services. A Billing Account is associated with a Project and enables resource allocation. A project has only one Billing Account associated with it. A Billing account can be used for multiple Projects.\n", + " * **Bucket** - A collection of key value pairs (similar to a Python dictionary) and is often called object storage. Object storage in Google is called Cloud Storage and is similar to Amazon S3.\n", + " * **Cloud Shell** - A Linux command line interface (CLI) running inside the GCP web console. \n", + " * **Disk Image** - The operating system disk for a **VM Instance** such as Ubuntu, Debian, and other Linux distributions.\n", + " * **Project** - Resources and services in Google Cloud are created within a single Project. \n", + " * **Project Name** - The long human readable name of your project. You can change this.\n", + " * **Project ID** - an alpha-numeric string identifier for the project. This is not changeable.\n", + " * **Project Number** - a long number that also identifies the project but is rarely used (it is an internal identifier). \n", + " * **Region** - A geographical region within the world (typically a city) in which a number of physical or logical data centers are located (each is a different **zone**). An example of a **region** is `us-west2`, which is located in Los Angeles.\n", + " * **Service Account** - A machine **account** or identity that is used to give permissions to a resource, such as a **VM Instance** in GCP. These take the form of an email, usually ending with `gserviceaccount.com`.\n", + " * **Label** - A key value pair attached to a resource to aid in finding resources, allocating billing, debugging, etc.. A Label is similar to a *tag* in AWS and Azure. \n", + " * **VM Instance** - A Virtual Machine (VM) is a virtual computer running in a **zone**.\n", + " * **Zone** - A logical or physical data center (a building with computers in it) in which cloud resources physically reside. Each **zone** in a **region** have different resources. An example of a **zone** is `us-west2-c`." ] } ], From 0d114c5bbc70954d7a12991baf1115064b69ab2b Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 20:19:52 +0000 Subject: [PATCH 07/19] GCP: Simpler use of environment variables. --- content/GCP/02_intro_to_compute.ipynb | 2 +- content/GCP/04_intro_to_cli.ipynb | 149 +++++++++++++------------- 2 files changed, 73 insertions(+), 78 deletions(-) diff --git a/content/GCP/02_intro_to_compute.ipynb b/content/GCP/02_intro_to_compute.ipynb index 7097fbc..fda48cd 100644 --- a/content/GCP/02_intro_to_compute.ipynb +++ b/content/GCP/02_intro_to_compute.ipynb @@ -309,7 +309,7 @@ "Did you \"Follow\" the VM instance by looking at the **activity** page as discussed above?\n", "\n", "Since we care about paying for resources we are not using we review our project by visiting the *compute engine* service and reviewing that we no longer have any *VM instances* running. \n", - " * Go to **Navigation Menu** -> **Compute Engine** (under Compute) -> **Instances** and look for your virtual machine.\n", + " * Go to **Navigation Menu** -> **Compute Engine** (under Compute) -> **Instances** and look for your virtual machine. It should be gone!\n", "\n", "In a later episode we will show how to easily list all the resources in a project." ] diff --git a/content/GCP/04_intro_to_cli.ipynb b/content/GCP/04_intro_to_cli.ipynb index 9136726..6ffab2b 100644 --- a/content/GCP/04_intro_to_cli.ipynb +++ b/content/GCP/04_intro_to_cli.ipynb @@ -62,8 +62,11 @@ "id": "8eb44568-1108-4963-aebf-7f6b98ddaffc", "metadata": {}, "source": [ - "### Advanced call-out\n", - "You can access the cloud shell from your laptop via `gcloud cloud-shell ssh` if you have the [Google Cloud SDK installed](https://cloud.google.com/sdk/docs/install). Installing the Google Cloud SDK will also allow you to run `gcloud` and `gsutil` commands directly from your laptop, workstation, or cluster. *Pro-tip, you cannot use a service account to access the cloud shell.*" + "```{admonition} Tip\n", + ":class: tip\n", + "\n", + "You can access the cloud shell from your laptop via `gcloud cloud-shell ssh` if you have the [Google Cloud SDK installed](https://cloud.google.com/sdk/docs/install). Installing the Google Cloud SDK will also allow you to run `gcloud` and `gsutil` commands directly from your laptop, workstation, or cluster. *Pro-tip, you cannot use a service account to access the cloud shell.*\n", + "```" ] }, { @@ -236,12 +239,18 @@ "\n", "*To make the point even clearer, we use environment variables in the Cloud Essentials notebooks instead of hard coding them, which makes it easy for anyone to run, use, and edit and thus collaborate and contribute to them!*\n", "\n", - "We now demonstrate the basic use environment variables. As a reminder, environment variables are used to store configuration information that can be easily passed between programs and programming languages." + "We now demonstrate the basic use environment variables. As a reminder, environment variables are used to store configuration information that can be easily passed between programs and programming languages.\n", + "\n", + "```{admonition} Advanced Tip\n", + ":class: tip\n", + "\n", + "Although we do not always need to, we should always enclose shell variables in double quotes and enclose the variable name in curly braces (funny things may happen otherwise) when writing scripts, for example `\"${TEST}\"`. In most cases it is easier to do this every time than try to figure out when it is possible to use the short form. We only use the short form (`$TEST`) when it is used frequently and known to always work (most cases here), in our case it is `$PROJECT` and `$BUCKET`. When in doubt, use the explicit form.\n", + "```" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "b8f74fe9-0943-4bd9-a91b-da09c001f8a1", "metadata": {}, "outputs": [], @@ -251,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "b937f6c7-3697-4bc0-8e32-da0b0faec593", "metadata": {}, "outputs": [ @@ -272,14 +281,12 @@ "id": "78fe7013-a5ae-498f-aeab-ba1f3c710de1", "metadata": {}, "source": [ - "Although we do not always need to, we should always enclose shell variables in double quotes and enclose the variable name in curly braces (funny things may happen otherwise). In most cases it is easier to do this every time than try to figure out when it is possible to use the short form. We only use the short form (`$TEST`) when it is used frequently and known to always work, in our case it is `$PROJECT` and `$BUCKET`. When in doubt, use the explicit form.\n", - "\n", "There are a number of environment variables already set that contain useful information, for example:" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "bae0587c-0379-40e3-9c31-16ba5505487a", "metadata": {}, "outputs": [ @@ -287,17 +294,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "student31\n" + "learner\n" ] } ], "source": [ - "echo \"${USER}\"" + "echo $USER" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "52b4add5-0d18-4faf-a304-b7e0ee8ba82e", "metadata": {}, "outputs": [ @@ -305,12 +312,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "cs-730348008320-default-default-wwhtf\n" + "essentials\n" ] } ], "source": [ - "echo \"${HOSTNAME}\"" + "echo $HOSTNAME" ] }, { @@ -323,7 +330,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "id": "776806e4-209f-45fa-b14e-f771f5d5089d", "metadata": {}, "outputs": [ @@ -331,7 +338,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Tue 02 Nov 2021 07:15:33 PM UTC\n" + "Thu Feb 3 20:10:51 UTC 2022\n" ] } ], @@ -341,7 +348,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "560fde63-0eb8-4c52-9787-4debfe35ec23", "metadata": {}, "outputs": [ @@ -349,7 +356,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Date: Tue 02 Nov 2021 07:15:34 PM UTC\n" + "Date: Thu Feb 3 20:10:52 UTC 2022\n" ] } ], @@ -357,6 +364,14 @@ "echo \"Date: $(date)\"" ] }, + { + "cell_type": "markdown", + "id": "4ba54cbd-573e-43f6-ad7c-ccf6dac871b0", + "metadata": {}, + "source": [ + "We use double quotes to make it a single string." + ] + }, { "cell_type": "markdown", "id": "6323f7bf-b2fe-4c94-a87a-2d35e75a1a49", @@ -369,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "id": "18f40620-8537-42b5-948f-dd581e604a36", "metadata": {}, "outputs": [ @@ -377,8 +392,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Your active configuration is: [cloudshell-17640]\n", - "just-armor-301114\n" + "essentials-learner\n" ] } ], @@ -388,27 +402,19 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "id": "a959f857-8a20-4356-bc30-dbf8c75be96d", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Your active configuration is: [cloudshell-17640]\n" - ] - } - ], + "outputs": [], "source": [ "PROJECT=\"$(gcloud config get-value project)\"" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 16, "id": "c1d27e89-cc69-4979-82c4-79c3fb36bccb", "metadata": {}, "outputs": [ @@ -416,7 +422,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "just-armor-301114\n" + "essentials-learner\n" ] } ], @@ -437,12 +443,12 @@ "id": "c25e6431-4f92-454a-bd10-e77cb28deec6", "metadata": {}, "source": [ - "Now use the `PROJECT` envrionment variable to get more information about the active project." + "Now use the `PROJECT` environment variable to get more information about the active project (you may be prompted to enable the API)." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "id": "31b01f78-94b1-44f0-a2af-d657058941b2", "metadata": {}, "outputs": [ @@ -450,11 +456,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "createTime: '2021-01-08T14:17:35.831Z'\n", + "createTime: '2022-01-14T19:03:26.486Z'\n", "lifecycleState: ACTIVE\n", - "name: CLASS Project\n", - "projectId: just-armor-301114\n", - "projectNumber: '1002111293252'\n" + "name: essentials-learner\n", + "parent:\n", + " id: '1072231596131'\n", + " type: folder\n", + "projectId: essentials-learner\n", + "projectNumber: '998995103712'\n" ] } ], @@ -472,7 +481,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 21, "id": "845b2aaf-0032-4043-a40a-d2482693d23e", "metadata": {}, "outputs": [ @@ -480,20 +489,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "[accessibility]\n", - "screen_reader = True\n", - "[component_manager]\n", - "disable_update_check = True\n", - "[compute]\n", - "gce_metadata_read_timeout_sec = 30\n", "[core]\n", - "account = student31@class.internet2.edu\n", + "account = 998995103712-compute@developer.gserviceaccount.com\n", "disable_usage_reporting = True\n", - "project = just-armor-301114\n", - "[metrics]\n", - "environment = devshell\n", + "project = essentials-learner\n", "\n", - "Your active configuration is: [cloudshell-17640]\n" + "Your active configuration is: [default]\n" ] } ], @@ -511,7 +512,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 23, "id": "9714ebe2-2921-498b-9e0e-69ec6a85896a", "metadata": {}, "outputs": [ @@ -519,7 +520,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "just-armor-301114\n" + "essentials-learner\n" ] } ], @@ -537,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 25, "id": "7d803ddd-acca-4ad1-933a-4d6e6044def6", "metadata": {}, "outputs": [ @@ -545,12 +546,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "just-armor-301114\n" + "essentials-learner\n" ] } ], "source": [ - "PROJECT=\"$(gcloud config list --format='value(core.project)')\"\n", + "PROJECT=$(gcloud config list --format='value(core.project)')\n", "echo $PROJECT" ] }, @@ -588,7 +589,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 26, "id": "678a1735-8cad-403c-b302-639de1fb0f4b", "metadata": { "tags": [] @@ -598,26 +599,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"accessibility\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"screen_reader\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"True\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"component_manager\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"disable_update_check\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"True\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"compute\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"gce_metadata_read_timeout_sec\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"30\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"core\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"account\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"student31@class.internet2.edu\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"disable_usage_reporting\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"True\"\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"project\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"just-armor-301114\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", - " \u001b[0m\u001b[34;1m\"metrics\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", - " \u001b[0m\u001b[34;1m\"environment\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"devshell\"\u001b[0m\u001b[1;39m\n", - " \u001b[1;39m}\u001b[0m\u001b[1;39m\n", - "\u001b[1;39m}\u001b[0m\n" + "bash: jq: command not found\n" ] + }, + { + "ename": "", + "evalue": "127", + "output_type": "error", + "traceback": [] } ], "source": [ @@ -626,7 +615,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 27, "id": "b0dec5ed-dc7f-4003-b228-f6605119ce47", "metadata": {}, "outputs": [ @@ -634,8 +623,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "just-armor-301114\n" + "bash: jq: command not found\n" ] + }, + { + "ename": "", + "evalue": "127", + "output_type": "error", + "traceback": [] } ], "source": [ From 9c77425071ae559f7f1b187b4717845d76138322 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 21:56:49 +0000 Subject: [PATCH 08/19] GCP: Simplify the use of ENV var's. --- content/GCP/04_intro_to_cli.ipynb | 195 +++++++++--------------------- 1 file changed, 60 insertions(+), 135 deletions(-) diff --git a/content/GCP/04_intro_to_cli.ipynb b/content/GCP/04_intro_to_cli.ipynb index 6ffab2b..72499e4 100644 --- a/content/GCP/04_intro_to_cli.ipynb +++ b/content/GCP/04_intro_to_cli.ipynb @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "3ce9e6fb-9f5f-42e1-8512-35c0564f8e85", "metadata": {}, "outputs": [ @@ -112,7 +112,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "998995103712-compute@developer.gserviceaccount.com\n" + "Your active configuration is: [cloudshell-2071]\n", + "learner@class.internet2.edu\n" ] } ], @@ -130,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "cfb10587-e007-45ae-839f-7bcfe088c711", "metadata": {}, "outputs": [ @@ -138,6 +139,7 @@ "name": "stdout", "output_type": "stream", "text": [ + "Your active configuration is: [cloudshell-2071]\n", "essentials-learner\n" ] } @@ -156,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "617325c9-d853-4291-a1db-938ab9439fee", "metadata": {}, "outputs": [ @@ -250,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "id": "b8f74fe9-0943-4bd9-a91b-da09c001f8a1", "metadata": {}, "outputs": [], @@ -260,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "id": "b937f6c7-3697-4bc0-8e32-da0b0faec593", "metadata": {}, "outputs": [ @@ -286,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "id": "bae0587c-0379-40e3-9c31-16ba5505487a", "metadata": {}, "outputs": [ @@ -304,7 +306,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "52b4add5-0d18-4faf-a304-b7e0ee8ba82e", "metadata": {}, "outputs": [ @@ -312,7 +314,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "essentials\n" + "cs-194566722441-default\n" ] } ], @@ -330,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "id": "776806e4-209f-45fa-b14e-f771f5d5089d", "metadata": {}, "outputs": [ @@ -338,7 +340,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Thu Feb 3 20:10:51 UTC 2022\n" + "Thu 03 Feb 2022 09:50:31 PM UTC\n" ] } ], @@ -348,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "id": "560fde63-0eb8-4c52-9787-4debfe35ec23", "metadata": {}, "outputs": [ @@ -356,7 +358,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Date: Thu Feb 3 20:10:52 UTC 2022\n" + "Date: Thu 03 Feb 2022 09:50:31 PM UTC\n" ] } ], @@ -384,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "id": "18f40620-8537-42b5-948f-dd581e604a36", "metadata": {}, "outputs": [ @@ -392,6 +394,7 @@ "name": "stdout", "output_type": "stream", "text": [ + "Your active configuration is: [cloudshell-2071]\n", "essentials-learner\n" ] } @@ -402,19 +405,27 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 12, "id": "a959f857-8a20-4356-bc30-dbf8c75be96d", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your active configuration is: [cloudshell-2071]\n" + ] + } + ], "source": [ - "PROJECT=\"$(gcloud config get-value project)\"" + "PROJECT=$(gcloud config get-value project)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 13, "id": "c1d27e89-cc69-4979-82c4-79c3fb36bccb", "metadata": {}, "outputs": [ @@ -435,7 +446,17 @@ "id": "9d3a8504-a75c-4945-ab54-85f1d9a7e2b2", "metadata": {}, "source": [ - "Note the \"Your active configuration is: ...\" line is a \"warning\" and not actually part of the output of the program." + "Note the \"Your active configuration is: ...\" line is a \"warning\" and not actually part of the output of the program.\n", + "\n", + "````{admonition} Advanced Tip\n", + ":class: tip\n", + "\n", + "You can also use \n", + "```\n", + "PROJECT=$(gcloud config list --format='value(core.project)')\n", + "```\n", + "to get the project id without the warning.\n", + "````" ] }, { @@ -448,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 14, "id": "31b01f78-94b1-44f0-a2af-d657058941b2", "metadata": {}, "outputs": [ @@ -471,98 +492,6 @@ "gcloud projects describe $PROJECT" ] }, - { - "cell_type": "markdown", - "id": "ed2ab9ce-6b0a-4939-88c7-8103e29413b7", - "metadata": {}, - "source": [ - "Note the extraneous message about the active configuration produced by the `gcloud config get-value project` command. A slightly different way to access the data can be used to remove the extraneous message by using the following command:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "845b2aaf-0032-4043-a40a-d2482693d23e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[core]\n", - "account = 998995103712-compute@developer.gserviceaccount.com\n", - "disable_usage_reporting = True\n", - "project = essentials-learner\n", - "\n", - "Your active configuration is: [default]\n" - ] - } - ], - "source": [ - "gcloud config list" - ] - }, - { - "cell_type": "markdown", - "id": "d919b26d-2f64-4a43-9c76-34f7798fe853", - "metadata": {}, - "source": [ - "We can now use the `--format='value()'` option to get specific values. The following command returns the project number without the extraneous message." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "9714ebe2-2921-498b-9e0e-69ec6a85896a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "essentials-learner\n" - ] - } - ], - "source": [ - "gcloud config list --format='value(core.project)'" - ] - }, - { - "cell_type": "markdown", - "id": "ba660d2b-5ddf-449b-8049-56a40f2e366b", - "metadata": {}, - "source": [ - "Note where the `core` part comes in the output of the `gcloud config list` command." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "7d803ddd-acca-4ad1-933a-4d6e6044def6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "essentials-learner\n" - ] - } - ], - "source": [ - "PROJECT=$(gcloud config list --format='value(core.project)')\n", - "echo $PROJECT" - ] - }, - { - "cell_type": "markdown", - "id": "d40b2c7b-7331-412d-80e1-f1a77204075a", - "metadata": {}, - "source": [ - "We will use this form from now on. Since we know the Project ID only contains numbers, letters, and dashes with no spaces there is no need to use quotes." - ] - }, { "cell_type": "markdown", "id": "270e0abb-d5e9-476a-af91-060cc0ea0349", @@ -570,10 +499,8 @@ "source": [ "```{admonition} Exercise\n", "\n", - " * What command shows the project number? (hint: we used it already)\n", - " * What is the name of this variable? (hint: it is case sensitive)\n", - " * What command shows *just* the Project Number (hint: use `--format`)\n", - " * Set the `PROJECT_NUMBER` environment variable with the correct value. (hint: be careful with punctuation (single and double quotes) and matching brackets and punctuation)\n", + " * What command shows the account? (hint: we used it already)\n", + " * Set the `ACCOUNT` environment variable with the correct value. (hint: be careful with punctuation (single and double quotes) and matching brackets and punctuation)\n", "```" ] }, @@ -584,12 +511,12 @@ "source": [ "## Formating and Scripting Output (Optional)\n", "\n", - "The following example shows how to output the configuration as `JSON`. The command `jq` can also be used to parse the JSON data." + "The following example shows how to output the configuration as `JSON`. The command `jq` can also be used to parse the JSON data in addition to the `--format` option." ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 15, "id": "678a1735-8cad-403c-b302-639de1fb0f4b", "metadata": { "tags": [] @@ -599,23 +526,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "bash: jq: command not found\n" + "\u001b[1;39m{\n", + " \u001b[0m\u001b[34;1m\"createTime\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"2022-01-14T19:03:26.486Z\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"lifecycleState\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"ACTIVE\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"name\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"essentials-learner\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"parent\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[1;39m{\n", + " \u001b[0m\u001b[34;1m\"id\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"1072231596131\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"type\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"folder\"\u001b[0m\u001b[1;39m\n", + " \u001b[1;39m}\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"projectId\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"essentials-learner\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0m\u001b[34;1m\"projectNumber\"\u001b[0m\u001b[1;39m: \u001b[0m\u001b[0;32m\"998995103712\"\u001b[0m\u001b[1;39m\n", + "\u001b[1;39m}\u001b[0m\n" ] - }, - { - "ename": "", - "evalue": "127", - "output_type": "error", - "traceback": [] } ], "source": [ - "gcloud config list --format=json |jq" + "gcloud projects describe $PROJECT --format=json | jq" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 16, "id": "b0dec5ed-dc7f-4003-b228-f6605119ce47", "metadata": {}, "outputs": [ @@ -623,18 +554,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "bash: jq: command not found\n" + "998995103712\n" ] - }, - { - "ename": "", - "evalue": "127", - "output_type": "error", - "traceback": [] } ], "source": [ - "gcloud config list --format=json |jq -r .core.project" + "gcloud projects describe $PROJECT --format=json | jq -r .projectNumber" ] } ], From 2a18af844fd3fb74d13c88a0f30d8f15be02cbc8 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 22:22:16 +0000 Subject: [PATCH 09/19] GCP: simplify syntax and re-render in cloudshell --- content/GCP/05_cli_storage.ipynb | 319 +++++++++++++------------------ 1 file changed, 137 insertions(+), 182 deletions(-) diff --git a/content/GCP/05_cli_storage.ipynb b/content/GCP/05_cli_storage.ipynb index 00d761a..878850e 100644 --- a/content/GCP/05_cli_storage.ipynb +++ b/content/GCP/05_cli_storage.ipynb @@ -53,7 +53,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "998995103712-compute@developer.gserviceaccount.com\n" + "Your active configuration is: [cloudshell-27767]\n", + "learner@class.internet2.edu\n" ] } ], @@ -71,6 +72,7 @@ "name": "stdout", "output_type": "stream", "text": [ + "Your active configuration is: [cloudshell-27767]\n", "essentials-learner\n" ] } @@ -82,6 +84,25 @@ { "cell_type": "code", "execution_count": 3, + "id": "44f0b255-508a-4488-abde-87aae67cd5b3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your active configuration is: [cloudshell-27767]\n", + "learner@class.internet2.edu\n" + ] + } + ], + "source": [ + "ACCOUNT=$(gcloud config get-value account) ; echo $ACCOUNT" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "36fcc48b-8a5b-4158-9704-f1ea7c9951eb", "metadata": {}, "outputs": [ @@ -89,13 +110,13 @@ "name": "stdout", "output_type": "stream", "text": [ + "Your active configuration is: [cloudshell-27767]\n", "essentials-learner\n" ] } ], "source": [ - "PROJECT=$(gcloud config list --format='value(core.project)')\n", - "echo $PROJECT" + "PROJECT=$(gcloud config get-value project) ; echo $PROJECT" ] }, { @@ -118,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "255eb914-a06a-4bfd-adbb-7ca2f94678e7", "metadata": {}, "outputs": [ @@ -126,18 +147,18 @@ "name": "stdout", "output_type": "stream", "text": [ - "essentials-learner-2022-01-21\n" + "essentials-learner-2022-02-03\n" ] } ], "source": [ - "BUCKET=\"essentials-${USER}-$(date +%F)\"\n", + "BUCKET=\"essentials-$USER-$(date +%F)\"\n", "echo $BUCKET" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "b0661b4c-b56b-4d6d-ba3c-e1c5f38699c6", "metadata": {}, "outputs": [ @@ -145,12 +166,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Creating gs://essentials-learner-2022-01-21/...\n" + "Creating gs://essentials-learner-2022-02-03/...\n" ] } ], "source": [ - "gsutil mb \"gs://$BUCKET\"" + "gsutil mb gs://$BUCKET" ] }, { @@ -175,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "8ae2988a-fca8-4601-a7e5-458627fe68e3", "metadata": {}, "outputs": [ @@ -183,7 +204,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/\n" + "gs://essentials-learner-2022-02-03/\n" ] } ], @@ -209,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "ecc0e4fe-c9d0-4edd-9a0c-56b5b9ec7c54", "metadata": { "scrolled": true, @@ -220,7 +241,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/ :\n", + "gs://essentials-learner-2022-02-03/ :\n", "\tStorage class:\t\t\tSTANDARD\n", "\tLocation type:\t\t\tmulti-region\n", "\tLocation constraint:\t\tUS\n", @@ -232,71 +253,17 @@ "\tRequester Pays enabled:\t\tNone\n", "\tLabels:\t\t\t\tNone\n", "\tDefault KMS key:\t\tNone\n", - "\tTime created:\t\t\tFri, 21 Jan 2022 23:23:39 GMT\n", - "\tTime updated:\t\t\tFri, 21 Jan 2022 23:23:39 GMT\n", + "\tTime created:\t\t\tThu, 03 Feb 2022 22:19:56 GMT\n", + "\tTime updated:\t\t\tThu, 03 Feb 2022 22:19:56 GMT\n", "\tMetageneration:\t\t\t1\n", "\tBucket Policy Only enabled:\tFalse\n", "\tPublic access prevention:\tinherited\n", - "\tRPO:\t\t\t\tDEFAULT\n", - "\tACL:\t\t\t\t\n", - "\t [\n", - "\t {\n", - "\t \"entity\": \"project-owners-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"owners\"\n", - "\t },\n", - "\t \"role\": \"OWNER\"\n", - "\t },\n", - "\t {\n", - "\t \"entity\": \"project-editors-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"editors\"\n", - "\t },\n", - "\t \"role\": \"OWNER\"\n", - "\t },\n", - "\t {\n", - "\t \"entity\": \"project-viewers-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"viewers\"\n", - "\t },\n", - "\t \"role\": \"READER\"\n", - "\t }\n", - "\t ]\n", - "\tDefault ACL:\t\t\t\n", - "\t [\n", - "\t {\n", - "\t \"entity\": \"project-owners-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"owners\"\n", - "\t },\n", - "\t \"role\": \"OWNER\"\n", - "\t },\n", - "\t {\n", - "\t \"entity\": \"project-editors-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"editors\"\n", - "\t },\n", - "\t \"role\": \"OWNER\"\n", - "\t },\n", - "\t {\n", - "\t \"entity\": \"project-viewers-998995103712\",\n", - "\t \"projectTeam\": {\n", - "\t \"projectNumber\": \"998995103712\",\n", - "\t \"team\": \"viewers\"\n", - "\t },\n", - "\t \"role\": \"READER\"\n", - "\t }\n", - "\t ]\n" + "\tRPO:\t\t\t\tDEFAULT\n" ] } ], "source": [ - "gsutil ls -L -b \"gs://$BUCKET\"" + "gsutil ls -L -b gs://$BUCKET | head -18" ] }, { @@ -306,14 +273,14 @@ "source": [ "You can see that the bucket is \"multi-region\" and uses the \"standard\" storage class (this is the type of storage). The standard storage class is best used for frequently used buckets. Other storage classes are designed for less frequent use, are less expensive, but come with more restrictions and more complex access costs and should only be used after careful consideration.\n", "\n", - "Ignore the \"ACL\" section for now.\n", + "*We used the `| head -18 ` command here to limit the response to the first few lines (we ignore ACL for now)*\n", "\n", "You may also want to verify that you can see the newly created bucket in the web console dashboard or \"Cloud Storage\" page and explore the properties there." ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "8fc85600-a793-413b-b139-642e4cf08a8e", "metadata": {}, "outputs": [], @@ -334,7 +301,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "bb8e7270-2f64-4fbd-b312-b18a7960700f", "metadata": { "scrolled": true, @@ -346,76 +313,20 @@ "output_type": "stream", "text": [ "---\n", - "insertId: -o4omdgeg7sge\n", + "insertId: -oywycvf1xe8xy\n", "logName: projects/essentials-learner/logs/cloudaudit.googleapis.com%2Factivity\n", "protoPayload:\n", " '@type': type.googleapis.com/google.cloud.audit.AuditLog\n", " authenticationInfo:\n", - " principalEmail: 998995103712-compute@developer.gserviceaccount.com\n", - " serviceAccountDelegationInfo:\n", - " - firstPartyPrincipal:\n", - " principalEmail: service-998995103712@compute-system.iam.gserviceaccount.com\n", + " principalEmail: learner@class.internet2.edu\n", " authorizationInfo:\n", " - granted: true\n", - " permission: storage.buckets.create\n", - " resource: projects/_/buckets/essentials-learner-2022-01-21\n", - " resourceAttributes: {}\n", - " metadata:\n", - " rpo: DEFAULT\n", - " methodName: storage.buckets.create\n", - " request:\n", - " defaultObjectAcl:\n", - " '@type': type.googleapis.com/google.iam.v1.Policy\n", - " bindings:\n", - " - members:\n", - " - projectViewer:essentials-learner\n", - " role: roles/storage.legacyObjectReader\n", - " - members:\n", - " - projectOwner:essentials-learner\n", - " - projectEditor:essentials-learner\n", - " role: roles/storage.legacyObjectOwner\n", - " requestMetadata:\n", - " callerIp: 34.102.126.22\n", - " callerNetwork: //compute.googleapis.com/projects/essentials-learner/global/networks/__unknown__\n", - " callerSuppliedUserAgent: apitools Python/3.7.3 gsutil/5.5 (linux) analytics/disabled\n", - " interactive/True command/mb google-cloud-sdk/366.0.0,gzip(gfe)\n", - " destinationAttributes: {}\n", - " requestAttributes:\n", - " auth: {}\n", - " time: '2022-01-21T23:23:39.060742076Z'\n", - " resourceLocation:\n", - " currentLocations:\n", - " - us\n", - " resourceName: projects/_/buckets/essentials-learner-2022-01-21\n", - " serviceData:\n", - " '@type': type.googleapis.com/google.iam.v1.logging.AuditData\n", - " policyDelta:\n", - " bindingDeltas:\n", - " - action: ADD\n", - " member: projectEditor:essentials-learner\n", - " role: roles/storage.legacyBucketOwner\n", - " - action: ADD\n", - " member: projectOwner:essentials-learner\n", - " role: roles/storage.legacyBucketOwner\n", - " - action: ADD\n", - " member: projectViewer:essentials-learner\n", - " role: roles/storage.legacyBucketReader\n", - " serviceName: storage.googleapis.com\n", - " status: {}\n", - "receiveTimestamp: '2022-01-21T23:23:39.729940907Z'\n", - "resource:\n", - " labels:\n", - " bucket_name: essentials-learner-2022-01-21\n", - " location: us\n", - " project_id: essentials-learner\n", - " type: gcs_bucket\n", - "severity: NOTICE\n", - "timestamp: '2022-01-21T23:23:39.055676566Z'\n" + " permission: storage.buckets.create\n" ] } ], "source": [ - "gcloud logging read --limit 1" + "gcloud logging read --limit 1 | head" ] }, { @@ -455,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "f9a90752-871f-4156-b122-4c46fd4bfa43", "metadata": {}, "outputs": [], @@ -473,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "bc0fb778-cc2e-4af4-8aa8-ca90d6b4f877", "metadata": {}, "outputs": [ @@ -499,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "6384974b-d422-4ac1-90b7-cf9feec9aa8c", "metadata": {}, "outputs": [ @@ -514,12 +425,12 @@ } ], "source": [ - "gsutil cp one.txt \"gs://$BUCKET/1\"" + "gsutil cp one.txt gs://$BUCKET/1" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "49589119-56bb-4c7b-b0a6-36e8f1133056", "metadata": {}, "outputs": [ @@ -527,12 +438,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/1\n" + "gs://essentials-learner-2022-02-03/1\n" ] } ], "source": [ - "gsutil ls \"gs://$BUCKET\"" + "gsutil ls gs://$BUCKET" ] }, { @@ -543,6 +454,24 @@ "Copy the object to the standard out (displays it on the screen)." ] }, + { + "cell_type": "code", + "execution_count": 15, + "id": "79d0f1ac-e42f-46c4-aeec-6548a2651015", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test one\n" + ] + } + ], + "source": [ + "gsutil cat gs://$BUCKET/1" + ] + }, { "cell_type": "markdown", "id": "ef366240-1152-4b30-b99f-b7835f63788d", @@ -553,7 +482,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "id": "442cc51f-8856-41d4-a3a6-072c8569beef", "metadata": {}, "outputs": [ @@ -571,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "id": "4e3c0de9-8a23-428a-9689-0cf896228afe", "metadata": {}, "outputs": [ @@ -584,7 +513,7 @@ } ], "source": [ - "gsutil cat \"gs://$BUCKET/1\"" + "gsutil cat gs://$BUCKET/1" ] }, { @@ -597,7 +526,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "id": "13f94b36-7dea-46b9-9e8b-baa8b4e59de6", "metadata": {}, "outputs": [ @@ -605,19 +534,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Copying gs://essentials-learner-2022-01-21/1...\n", + "Copying gs://essentials-learner-2022-02-03/1...\n", "/ [1 files][ 9.0 B/ 9.0 B] \n", "Operation completed over 1 objects/9.0 B. \n" ] } ], "source": [ - "gsutil cp \"gs://$BUCKET/1\" one.txt" + "gsutil cp gs://$BUCKET/1 one.txt" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "id": "3982f21c-b827-4772-aa8c-3ac67e478b0d", "metadata": {}, "outputs": [ @@ -643,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "id": "6b57a3fc-94ea-4c25-b7ac-2744d7b28852", "metadata": {}, "outputs": [ @@ -669,7 +598,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 21, "id": "5a7fc453-fca7-4ab4-8f0a-cb4de53bc992", "metadata": {}, "outputs": [ @@ -684,7 +613,7 @@ } ], "source": [ - "date | gsutil cp - \"gs://$BUCKET/2\"" + "date | gsutil cp - gs://$BUCKET/2" ] }, { @@ -697,7 +626,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "id": "1be58d86-5de7-420c-a3b3-0b82839ac90f", "metadata": {}, "outputs": [ @@ -705,8 +634,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/1\n", - "gs://essentials-learner-2022-01-21/2\n" + "gs://essentials-learner-2022-02-03/1\n", + "gs://essentials-learner-2022-02-03/2\n" ] } ], @@ -721,13 +650,13 @@ "source": [ "```{admonition} Exercise\n", "\n", - "* Display the date in the bucket.\n", + "* Display the object with the date in the bucket.\n", "```" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "id": "e3d0585b-4d81-4429-ad90-b3ff51eec13d", "metadata": {}, "outputs": [ @@ -735,12 +664,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fri Jan 21 23:23:53 UTC 2022\n" + "Thu 03 Feb 2022 10:20:26 PM UTC\n" ] } ], "source": [ - "gsutil cat \"gs://$BUCKET/2\"" + "gsutil cat gs://$BUCKET/2" ] }, { @@ -753,7 +682,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "id": "9ad460d9-7a4f-4e3f-befb-2bbb10c51993", "metadata": {}, "outputs": [ @@ -761,19 +690,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Removing gs://essentials-learner-2022-01-21/1...\n", + "Removing gs://essentials-learner-2022-02-03/1...\n", "/ [1 objects] \n", "Operation completed over 1 objects. \n" ] } ], "source": [ - "gsutil rm \"gs://$BUCKET/1\"" + "gsutil rm gs://$BUCKET/1" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "id": "8fd782f2-700a-4862-970b-1b4751009d5f", "metadata": {}, "outputs": [ @@ -781,12 +710,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/2\n" + "gs://essentials-learner-2022-02-03/2\n" ] } ], "source": [ - "gsutil ls \"gs://$BUCKET\"" + "gsutil ls gs://$BUCKET" ] }, { @@ -799,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 26, "id": "e1350695-0f01-4205-a604-91d62896783e", "metadata": {}, "outputs": [ @@ -807,13 +736,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "Removing gs://essentials-learner-2022-01-21/...\n", - "NotEmptyException: 409 BucketNotEmpty (essentials-learner-2022-01-21)\n" + "Removing gs://essentials-learner-2022-02-03/...\n", + "NotEmptyException: 409 BucketNotEmpty (essentials-learner-2022-02-03)\n" ] } ], "source": [ - "gsutil rb \"gs://$BUCKET\"\n", + "gsutil rb gs://$BUCKET\n", "/bin/true # ignore expected error in Jupyter" ] }, @@ -827,7 +756,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 27, "id": "ba2671f8-521f-48b4-9231-491d128ba67c", "metadata": {}, "outputs": [ @@ -835,19 +764,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Removing gs://essentials-learner-2022-01-21/2...\n", + "Removing gs://essentials-learner-2022-02-03/2...\n", "/ [1 objects] \n", "Operation completed over 1 objects. \n" ] } ], "source": [ - "gsutil rm \"gs://$BUCKET/2\"" + "gsutil rm gs://$BUCKET/2" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 28, "id": "73d8b299-8e8e-443e-ae5b-4ecf7efa0442", "metadata": {}, "outputs": [ @@ -855,7 +784,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/\n" + "gs://essentials-learner-2022-02-03/\n" ] } ], @@ -874,7 +803,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 29, "id": "7b32764d-e7b5-42d6-8f88-bc6936b2024a", "metadata": {}, "outputs": [ @@ -882,7 +811,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/\n" + "gs://essentials-learner-2022-02-03/\n" ] } ], @@ -900,7 +829,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 30, "id": "82487bd8-14f4-4811-8f5a-dd346042bd0f", "metadata": {}, "outputs": [ @@ -908,7 +837,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Bucket: essentials-learner-2022-01-21\n" + "Bucket: essentials-learner-2022-02-03\n" ] } ], @@ -916,9 +845,35 @@ "echo \"Bucket: $BUCKET\"" ] }, + { + "cell_type": "markdown", + "id": "6120eee3-47d0-4e28-a1dd-b1090297a573", + "metadata": {}, + "source": [ + "Check to see if the bucket is empty" + ] + }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 31, + "id": "a52e1838-02f4-406c-a58f-6a709d9aaf2e", + "metadata": {}, + "outputs": [], + "source": [ + "gsutil ls gs://$BUCKET" + ] + }, + { + "cell_type": "markdown", + "id": "6eb97c7e-aed6-493a-b724-a4d6ba3cb806", + "metadata": {}, + "source": [ + "Remove the bucket" + ] + }, + { + "cell_type": "code", + "execution_count": 32, "id": "8635db94-2f3c-46d2-acc2-76a176fb37e7", "metadata": {}, "outputs": [ @@ -926,12 +881,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Removing gs://essentials-learner-2022-01-21/...\n" + "Removing gs://essentials-learner-2022-02-03/...\n" ] } ], "source": [ - "gsutil rb \"gs://$BUCKET\"" + "gsutil rb gs://$BUCKET" ] }, { @@ -939,12 +894,12 @@ "id": "3e2178ca", "metadata": {}, "source": [ - "We verify that the bucket has been removed. In this example there is no output since there are no more buckets." + "We verify that the bucket has been removed." ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 33, "id": "ed6f0204-0de2-4d20-ab00-3b7a1023fd86", "metadata": {}, "outputs": [], From 48c028b24c8972f8e0afa54fa8e13ca71e721fb5 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Thu, 3 Feb 2022 16:35:52 -0600 Subject: [PATCH 10/19] GCP: Scripts to run jupyterlab in cloudshell --- Build.md | 25 +++++++++++++++++++------ scripts/gcp-cloudshell-jupyter-lab.sh | 4 ++++ scripts/gcp-cloudshell.sh | 4 ++++ 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100755 scripts/gcp-cloudshell-jupyter-lab.sh create mode 100755 scripts/gcp-cloudshell.sh diff --git a/Build.md b/Build.md index c4033d1..2a88a6d 100644 --- a/Build.md +++ b/Build.md @@ -32,14 +32,27 @@ This copies the contents of `content/_build/html/` to `docs/` so GitHub Pages wi ## GCP -Using Jupyter launched from a remote Visual Code Studio session inside GCP Cloud-Shell requires some local settings stored in `local.sh`, use the following as a template replacing the project and email with the proper vaules: -``` -gcloud config set account student31@class.internet2.edu -export GOOGLE_CLOUD_PROJECT=just-armor-301114 -export DEVSHELL_PROJECT_ID=$GOOGLE_CLOUD_PROJECT -gcloud config set project $GOOGLE_CLOUD_PROJECT +Checkout the project so it is not seen by the students. Run `./scripts/gcp-cloudshell.sh` to open the shell with the agent and ports 8080 and 8081 forwarded and run the following commands (onetime setup). Be sure to check the project and account values. + +```bash +git clone git@github.internet2.edu:/CLASS/CLASS-Essentials.git .essentials +cd .essentials/ +git checkout -b gcp-dev --track origin/gcp-dev + +ACCOUNT=learner@class.internet2.edu +PROJECT=essentials-learner +cat > .essentials/local.sh < Date: Fri, 4 Feb 2022 12:34:27 -0600 Subject: [PATCH 11/19] Revert "AWS: Intro to CLI in AWS CloudShell updates and run" This reverts commit 46fdae5336006850fba289344f9bf4c99399a519. --- content/AWS/05_intro_to_cli.ipynb | 374 +++--------------------------- 1 file changed, 34 insertions(+), 340 deletions(-) diff --git a/content/AWS/05_intro_to_cli.ipynb b/content/AWS/05_intro_to_cli.ipynb index 025b5d3..089c3b2 100644 --- a/content/AWS/05_intro_to_cli.ipynb +++ b/content/AWS/05_intro_to_cli.ipynb @@ -49,12 +49,12 @@ "source": [ "## Using the CLI\n", "\n", - "Change to the home directory and check which file directory you are working in" + "To check which file directory you are working in" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "id": "55024290-8843-4ae2-a81f-9ba6c5bdec13", "metadata": {}, "outputs": [ @@ -62,330 +62,53 @@ "name": "stdout", "output_type": "stream", "text": [ - "/home/cloudshell-user\n" + "/home/ec2-user\n" ] } ], "source": [ - "cd ~\n", "pwd" ] }, { "cell_type": "markdown", - "id": "33d9fba8-c7d1-4266-9714-9093b04fcf8b", - "metadata": {}, - "source": [ - "Check what is there (probably nothing)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "17edba1b-49e2-4378-9a85-ac9326c0f056", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "hemingway.txt\n" - ] - } - ], - "source": [ - "ls" - ] - }, - { - "cell_type": "markdown", - "id": "57f2bf71-60fe-4635-bb8b-df1e46347f0d", - "metadata": {}, - "source": [ - "Set the time and date to your local time" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "fcded343-770b-49e7-851c-825b66ff2ee1", + "id": "47bdf3d8-3772-4f95-a119-f1f5eba717a5", "metadata": {}, - "outputs": [], "source": [ - "export TZ=US/Central" - ] - }, - { - "cell_type": "markdown", - "id": "627831ea-7c22-4073-af33-bbc508bd03b4", - "metadata": {}, - "source": [ - "To use the AWS command to list your s3 buckets:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "a1e47882-e2a7-4dd8-beb4-1a5fcde2ff52", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2022-02-02 17:53:39 essentials-test-learner-2022-02-02\n" - ] - } - ], - "source": [ - "aws s3 ls" - ] - }, - { - "cell_type": "markdown", - "id": "d3798517-272c-4710-817a-3b8ea9ff3443", - "metadata": {}, - "source": [ - "## Using S3 with the CLI\n", + "To use the AWS command to list your s3 buckets:\n", "\n", - "Use a variable for the bucket name and display it. Be sure to replace `learner` with your user username (for example `user1766969`)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "2a3fb47f-3032-4b1a-92e1-885b3b3daefb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "essentials-test-learner-2022-02-02\n" - ] - } - ], - "source": [ - "BUCKET=essentials-test-learner-$(date +%F)\n", - "echo $BUCKET" - ] - }, - { - "cell_type": "markdown", - "id": "985dd2a1-5191-4166-8e8f-ae7f47d5a983", - "metadata": {}, - "source": [ - "Let's list the contents of your s3 bucket:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f0e7d0eb-af86-428b-8975-967099734116", - "metadata": {}, - "outputs": [], - "source": [ - "aws s3 ls s3://$BUCKET" - ] - }, - { - "cell_type": "markdown", - "id": "ae11d3f5-0c53-4e4c-a211-31ea00455e75", - "metadata": {}, - "source": [ - "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "49cbd384-550f-4751-8a68-466d653c4ddf", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "echo \"The world breaks everyone\" > hemingway.txt" - ] - }, - { - "cell_type": "markdown", - "id": "52a1baf9-1161-4d9b-a6bc-16c970d6a7fa", - "metadata": {}, - "source": [ - "Check the file just to be sure" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "e9bd3f82-35ef-4676-8101-5e0b282104ba", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "hemingway.txt\n" - ] - } - ], - "source": [ - "ls" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "1ef90f2d-bf70-4012-ab9c-9ff67e72d98c", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The world breaks everyone\n" - ] - } - ], - "source": [ - "cat hemingway.txt" - ] - }, - { - "cell_type": "markdown", - "id": "c41dae7d-d5f9-46e6-a5ac-52fe777a44e6", - "metadata": {}, - "source": [ - "Now let's move the file into our s3 bucket. " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "672312e5-c532-4ff9-8d29-2e4bf056e88e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "move: ./hemingway.txt to s3://essentials-test-learner-2022-02-02/hemingway.txt\n" - ] - } - ], - "source": [ - "aws s3 mv ./hemingway.txt s3://$BUCKET" - ] - }, - { - "cell_type": "markdown", - "id": "213da888-c131-4732-9739-b5a149e1b3b0", - "metadata": {}, - "source": [ - "Check the it was a move (not a copy) by checking the file is gone" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "4c66a71e-9e34-4178-9559-3af88cc73503", - "metadata": {}, - "outputs": [], - "source": [ - "ls" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "3d8888ca-1ef3-4c82-8ac5-f21e556b089e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "download: s3://essentials-test-learner-2022-02-02/hemingway.txt to ./hemingway.txt\n" - ] - } - ], - "source": [ - "aws s3 cp s3://$BUCKET/hemingway.txt ." - ] - }, - { - "cell_type": "markdown", - "id": "c56d3469-1b92-4fd6-aaae-547bd9db2331", - "metadata": {}, - "source": [ - "Check that we got the file back" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "9edabccc-1793-4225-9ef5-ae83f15a51c8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "hemingway.txt\n" - ] - } - ], - "source": [ - "ls" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "9f110d51-24cb-48c0-9d4d-2b98b44cbf96", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The world breaks everyone\n" - ] - } - ], - "source": [ - "cat hemingway.txt" - ] - }, - { - "cell_type": "markdown", - "id": "84f4876d-0bb2-4987-9821-2a1d172f98af", - "metadata": {}, - "source": [ - "Cleanup after ourselves" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "704f3842-3f94-47f8-922d-ac9e69573460", - "metadata": {}, - "outputs": [], - "source": [ - "rm hemingway.txt" + "```bash\n", + "aws s3 ls\n", + "\n", + "```\n", + "\n", + "Let's list the contents of your s3 bucket:\n", + "\n", + "```bash\n", + "aws s3 ls s3://bucketname\n", + "\n", + "```\n", + "\n", + "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. \n", + "\n", + "```bash\n", + "echo \"The world breaks everyone\" > hemingway.txt\n", + "```\n", + "\n", + "Now let's move the file into our s3 bucket. \n", + "\n", + "```bash\n", + "aws s3 mv ./hemingway.txt s3://bucketname\n", + "\n", + "```" ] }, { "cell_type": "markdown", - "id": "78aa0823-bdb7-4edc-8296-6367e9452563", + "id": "9ed2bb8f", "metadata": {}, "source": [ - "```{admonition} Danger\n", - ":class: Danger\n", - "\n", - "The `aws s3 mv` command permanently deletes files. They cannot be recovered!\n", - "```" + "![cli-commands-1](images/cli_commands_1.png)" ] }, { @@ -396,38 +119,9 @@ "```{admonition} Exercise\n", ":class:\n", "\n", - "* How could you copy the original file instead of move it? \n", - "* How can you see the contents of your bucket through the AWS console?\n", - "* How would you remove the object `hemingway.txt` from your bucket?\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "8d9a34a4-2a3a-4351-b2ae-73b8a519f442", - "metadata": {}, - "source": [ - "## Cleanup\n", - "\n", - "Remove the object from the bucket" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "536e1b46-e1e1-4158-b323-4d4d8c8e83ff", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "delete: s3://essentials-test-learner-2022-02-02/hemingway.txt\n" - ] - } - ], - "source": [ - "aws s3 rm s3://$BUCKET/hemingway.txt" + "* How can you see the contents of your bucket through the CLI? \n", + "* How can you see the contents of your bucket through the AWS console? \n", + "```\n" ] } ], From fc07d298463a18eff32060b216f88d605a7f5e33 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Fri, 4 Feb 2022 12:34:35 -0600 Subject: [PATCH 12/19] Revert "Fix warnings, semantic markup, content" This reverts commit 6bf38b28d13b859046a67b1f509e743268d3adde. --- content/AWS/01_intro_to_cloud_console.ipynb | 5 +- ....ipynb => 02_intro_to_compute_part1.ipynb} | 134 +++++------------- content/AWS/03_intro_to_compute_part2.ipynb | 99 +++++++++++++ ....ipynb => 04_intro_to_cloud_storage.ipynb} | 36 +++-- content/AWS/05_intro_to_cli.ipynb | 100 ++++++------- content/AWS/images/cloudshell.png | Bin 48858 -> 0 bytes content/AWS/images/console-cloudshell.png | Bin 31570 -> 0 bytes content/AWS/intro_to_AWS_Essentials.ipynb | 9 +- content/_toc.yml | 5 +- 9 files changed, 211 insertions(+), 177 deletions(-) rename content/AWS/{02_intro_to_compute.ipynb => 02_intro_to_compute_part1.ipynb} (65%) create mode 100644 content/AWS/03_intro_to_compute_part2.ipynb rename content/AWS/{03_intro_to_cloud_storage.ipynb => 04_intro_to_cloud_storage.ipynb} (75%) delete mode 100644 content/AWS/images/cloudshell.png delete mode 100644 content/AWS/images/console-cloudshell.png diff --git a/content/AWS/01_intro_to_cloud_console.ipynb b/content/AWS/01_intro_to_cloud_console.ipynb index 4f1e4f2..5b51c1a 100644 --- a/content/AWS/01_intro_to_cloud_console.ipynb +++ b/content/AWS/01_intro_to_cloud_console.ipynb @@ -101,6 +101,7 @@ "metadata": {}, "source": [ "```{admonition} Exercise\n", + ":class: attention\n", "\n", "* What is your IAM username? \n", "* Why is IAM important?\n", @@ -111,7 +112,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -125,7 +126,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.9.5" } }, "nbformat": 4, diff --git a/content/AWS/02_intro_to_compute.ipynb b/content/AWS/02_intro_to_compute_part1.ipynb similarity index 65% rename from content/AWS/02_intro_to_compute.ipynb rename to content/AWS/02_intro_to_compute_part1.ipynb index 130f410..b18baa6 100644 --- a/content/AWS/02_intro_to_compute.ipynb +++ b/content/AWS/02_intro_to_compute_part1.ipynb @@ -46,7 +46,7 @@ "id": "bc5d082d", "metadata": {}, "source": [ - "We begin with the AWS console again. Under the \"Build a Solution\" panel, select **Launch a Virtual Machine**\n", + "We begin with the AWS console again. Under the \"Build a Solution\" panel, select `Launch a Virtual Machine`\n", "\n", "![Start page for the AWS console](images/console_ec2.png)\n", "\n", @@ -73,61 +73,58 @@ "id": "b9809503", "metadata": {}, "source": [ - "## Select an AMI (Step 1)\n", + "## 1. Select an AMI\n", "\n", "An Amazon Machine Image (AMI) is a template that Amazon uses to describe the operating system, disk type and all the software configuration that is needed to make sure a computer runs smoothly. Imagine that you are purchasing a new laptop; fresh out of the box, the laptop is pre-configured with an operating system (e.g. Windows, Mac OS, Ubuntu etc.), configuration files that tells the laptop what peripherals are attached, and pre-installed software like Adobe PDF reader. An AMI contains all this information so that your EC2 instance runs exactly like it would a new laptop out of the box! There is much more to learn about AMIs and how they can used for collaboration and data sharing but that is not within the scope of CLASS Essentials. \n", "\n", "As you scroll through the AMI list (Figure 2) you will notice that the list contains offerings from various vendors (e.g. Amazon, RedHat, Windows, etc.). We will be choosing the Ubuntu operating system for flexibility and versatility (can be used outside of the AWS ecosystem). \n", "\n", - "To list all the Free Tier AMIs, check the box on the right that says **Free tier only**.\n", + "To list all the Free Tier AMIs, check the box on the right that says ```Free tier only```.\n", "\n", - "![ec2-ami](images/ec2-ami.png)\n", - "Step 1 - Select an AMI - Free Tier Only\n", + "\n", "\n", - "Scroll to `Ubuntu Server 20.04 LTS(HVM), SSD Volume Type` Select `64-bit(x86)`. \n", + "
Figure 2: Step 1 - Select an AMI - Free Tier Only

\n", "\n", - "![ec2-ubuntu](images/ec2-ubuntu.png)\n", - "Step 1 - Select an AMI - Operating System Selection" + "Scroll to ```Ubuntu Server 20.04 LTS(HVM), SSD Volume Type``` (Figure 3). Select ```64-bit(x86)```. \n", + "\n", + "\n", + "\n", + "
Figure 3: Step 1 - Select an AMI - Operating System Selection

" ] }, { "cell_type": "markdown", - "id": "9c658eed-3cf6-4f46-bde6-f3b481874013", - "metadata": { - "tags": [] - }, + "id": "17597535", + "metadata": {}, "source": [ - "## Choose an Instance Type (Step 2)\n", + "## Step 2: Choose an Instance Type\n", "\n", "Choosing an instance type is choosing the hardware for your computing system: you get to pick the number of CPUs and memory size for your instance. \n", "\n", "Instance types are group by [**families**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) and denotes whether, for example, an instance is optimized for batch processing (compute-optimized, C-family), optimized for databases (memory-optimized, R-family) or has accelerated hardware (GPUs) for AI or Machine Learning pipelines. \n", "\n", - "When you choose an Instance Type (below), the screen show additional information about the selected instance type including the number of CPUs, the memory size, the type of storage and information about networking. \n", - "![ec2-ubuntu](images/ec2-ubuntu.png)\n", + "When you choose an Instance Type (Figure 3), the screen show additional information about the selected instance type including the number of CPUs, the memory size, the type of storage and information about networking. \n", "\n", "In the Instance Storage (GB) column, you will notice a term called **EBS**. EBS is the acronym for **Elastic Block Storage** and is analogous to the hard disk or boot drive on your personal computer or laptop. More details about EBS and different kinds of disk storage on EC2 instances are beyond the scope of CLASS Essentials. \n", "\n", "```{admonition} Note\n", ":class: note\n", - "The four most common types of storage you will encounter on AWS are: Elastic Block Storage (EBS), Elastic File Storage (EFS), Simple Storage Service (s3) and s3 Glacier. In the simplest terms, EBS is analogous to a computer hard drive and EFS is analogous to a network file system (NFS) or shared file system. s3 is AWS's object storage which is discussed [here](03_intro_to_cloud_storage). s3 Glacier is a cost-effective way of storing s3 files that you do not need to access frequently. \n", + "The four most common types of storage you will encounter on AWS are: Elastic Block Storage (EBS), Elastic File Storage (EFS), Simple Storage Service (s3) and s3 Glacier. In the simplest terms, EBS is analogous to a computer hard drive and EFS is analogous to a network file system (NFS) or shared file system. s3 is AWS's object storage which is discussed [here](05_intro_to_cloud_storage). s3 Glacier is a cost-effective way of storing s3 files that you do not need to access frequently. \n", "```\n", "\n", - "Here will will select a `t2.micro` instance which is Free Tier Eligible but only has 1vCPU and 1 GiB of memory. The cost of running a **t2.micro** instance is, at the time of publication, as follows: \n", - "\n", - "![Choose an Instance Type](images/ec2-type.png)\n", - "\n", - "Select **Next: Configure Instance Details**." + "Here will will select a ```t2.micro``` instance which is Free Tier Eligible but only has 1vCPU and 1 GiB of memory. The cost of running a t2.micro instance is " ] }, { "cell_type": "markdown", - "id": "285aad80-5670-4bdf-b9c3-86439720e9e1", - "metadata": { - "tags": [] - }, + "id": "4ee655a3", + "metadata": {}, "source": [ - "## Configure Instance Details (Step 3)\n", + "![Choose an Instance Type](images/ec2-type.png)\n", + "\n", + "Select ```Next: Configure Instance Details```.\n", + "\n", + "## Step 3: Configure Instance Details\n", "Step 3 in creating an EC2 instance involves a rudimentary understanding of several key AWS and cloud jargon (Figure 4). While delving deeper into some of the terminology is outside of the scope of CLASS Essentials, we go will through these terms in brief as we learn how to configure your EC2 instance. For the most part, we will **leave the settings as default**. CLASS Intermediate offers a more in depth discussion on cloud concepts. \n", "\n", "![Configure Instance Details](images/ec2-configure.png)\n", @@ -136,7 +133,7 @@ "\n", "```{admonition} Note\n", ":class: note\n", - "Recall that we learned about regions in the [previous chapter](01_intro_to_cloud_console). \n", + "Recall that we learned about regions in the [previous chapter](./01_intro_to_cloud_console). \n", "```\n", "\n", "**Purchasing Options** : Throughout your AWS journey, you will hear the term **Spot Instances**. Spot instances make use of the servers that go unused in AWS data centers to minimize costs. Recall that AWS has many data centers spread across the globe and not all their servers are utilized at 100% capacity at all times. Amazon uses Spot Instances as a flexible way to profit from extra capacity. Users have access to Spot Instances through a bidding process, sometimes users can save up to 90% off the on-deman compute instance this way! We will not expand much more on Spot Instances in CLASS Essentials but if you are interested, I2's CLASS Intermediate talks more " @@ -157,87 +154,22 @@ }, { "cell_type": "markdown", - "id": "b36239c2-a76b-46e7-a495-d6da6e4598a4", + "id": "1b8642f4", "metadata": {}, - "source": [ - "## Review Progress\n", - "\n", - "In the previous steps we learned how to launch a virtual machine from the AWS console. We selected an Amazon Machine Image (AMI), Chose an Instance and Configured Launch Settings. Recall that there are 7 steps to walk through to create a new EC2 instance; we will go through each in detail: \n", - "\n", - "1. Select an AMI\n", - "2. Choose Instance Type\n", - "3. Configure Instance \n", - "4. Add Storage\n", - "5. Add Tags\n", - "6. Configure Security Group\n", - "7. Review/Launch" - ] + "source": [] }, { - "cell_type": "markdown", - "id": "07b8ec13-c056-4236-ac14-12926bd7f872", + "cell_type": "code", + "execution_count": null, + "id": "fff35db8", "metadata": {}, - "source": [ - "## Add Storage (Step 4)\n", - "\n", - "Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices.\n", - "\n", - "![ec2-storage](images/ec2-storage.png)" - ] - }, - { - "cell_type": "markdown", - "id": "a29c2a86-c864-493c-9e3f-0b4cced47dd9", - "metadata": {}, - "source": [ - "## Add Tags (Step 5)\n", - "\n", - "[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. e\n", - "\n", - "![ec2-tags](images/ec2-tags.png)" - ] - }, - { - "cell_type": "markdown", - "id": "45d695b3-c39b-4889-af48-a0bfb901cb32", - "metadata": {}, - "source": [ - "## Step 6: Configure Security Group (Step 6)\n", - "\n", - "A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22 so that we can securely log in to the EC2 instance that we create. \n", - "\n", - "![ec2-sg](images/ec2-sg.png)" - ] - }, - { - "cell_type": "markdown", - "id": "5334a614-fb7f-409f-8aba-d1f18c92bc60", - "metadata": {}, - "source": [ - "## Step 7: Review Instance Launch\n", - "\n", - "Next review the details and click on **Launch**\n", - "![ec2-launch](images/ec2-launch.png)\n", - "\n", - "You will be prompted to generate a ssh-key to access the virtual machine. For now we will create a new one by entering `essentials-aws` in the key name and clicking **Download**\n", - "![ec2-sshkey](images/ec2-sshkey.png)\n", - "\n", - "You shoudl now see the following message\n", - "![ec2-confirm](images/ec2-confirm.png)\n", - "\n", - "Congratulations, you have created a virtual machine.\n", - "\n", - "```{admonition} Caution\n", - ":class: caution\n", - "\n", - "We will delete this virtual machine later. If you do not, **you will be charged for the running machine**.\n", - "```" - ] + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -251,7 +183,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.9.5" } }, "nbformat": 4, diff --git a/content/AWS/03_intro_to_compute_part2.ipynb b/content/AWS/03_intro_to_compute_part2.ipynb new file mode 100644 index 0000000..60316dc --- /dev/null +++ b/content/AWS/03_intro_to_compute_part2.ipynb @@ -0,0 +1,99 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "502f2360", + "metadata": {}, + "source": [ + "In the previous lesson we learned how to launch a virtual machine from the AWS console. We selected an Amazon Machine Image (AMI), Chose an Instance and Configured Launch Settings. Recall that there are 7 steps to walk through to create a new EC2 instance; we will go through each in detail: \n", + "\n", + "1. Select an AMI\n", + "2. Choose Instance Type\n", + "3. Configure Instance \n", + "4. Add Storage\n", + "5. Add Tags\n", + "6. Configure Security Group\n", + "7. Review/Launch" + ] + }, + { + "cell_type": "markdown", + "id": "b9809503", + "metadata": {}, + "source": [ + "## Step 4. Add Storage\n", + "\n", + "Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices.\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "17597535", + "metadata": {}, + "source": [ + "## Step 5: Add Tags\n", + "\n", + "[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. e\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "4ee655a3", + "metadata": {}, + "source": [ + "## Step 6: Configure Security Group\n", + "\n", + "A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22 so that we can securely log in to the EC2 instance that we create. \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "5235bac7", + "metadata": {}, + "source": [ + "## Step 7: Review Instance Launch\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "113ba95a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/content/AWS/03_intro_to_cloud_storage.ipynb b/content/AWS/04_intro_to_cloud_storage.ipynb similarity index 75% rename from content/AWS/03_intro_to_cloud_storage.ipynb rename to content/AWS/04_intro_to_cloud_storage.ipynb index 8c4307d..43d669f 100644 --- a/content/AWS/03_intro_to_cloud_storage.ipynb +++ b/content/AWS/04_intro_to_cloud_storage.ipynb @@ -32,51 +32,57 @@ "id": "338a2a01", "metadata": {}, "source": [ - "## Finding the S3 Storage Service\n", "There are three types of [cloud data storage](https://aws.amazon.com/what-is-cloud-storage/): object storage, file storage, and block storage. In this module, we will focus on object storage (e.g. Amazon Simple Storage Service (S3)).\n", "\n", "Recall that there are multiple ways to locate an AWS service: Using the search bar and using the home button at the top left hand of the screen. Here, we will search for the service **s3**. \n", "\n", - "![s3-launch-1](images/s3_launch_1.png)" + "\n", + "\n", + "" ] }, { "cell_type": "markdown", - "id": "983c6867-2d6b-43d2-b8b2-1d527084883d", + "id": "177860a7", "metadata": {}, "source": [ "Here we will click into the s3 service page. Note that the region here is Global. s3 namespaces, meaning the name of the buckets are global, which means that no two buckets can have the same name even if they reside in a different region. \n", "\n", - "Click `Create Bucket`. \n", + "Click ```Create Bucket```. \n", "\n", - "![s3-launch-2](images/s3_launch_2.png)" + "" ] }, { "cell_type": "markdown", - "id": "941baf18-7388-4086-9947-a7c4a4240d53", + "id": "9e0f64bf", "metadata": {}, "source": [ - "## Create a Bucket\n", - "\n", - "This will bring you to the Create Bucket page. Here we will choose a name for our new bucket - it will need to be a unique global namespace. Here I will use my identifying IAM (user1783892) to create a bucket. We will name my bucket `bucket-user1783892`, leave the region as us-east-1 as well as all the default settings and click `Create Bucket`\n", + "This will bring you to the Create Bucket page. Here we will choose a name for our new bucket - it will need to be a unique global namespace. Here I will use my identifying IAM (user1783892) to create a bucket. We will name my bucket ```bucket-user1783892```, leave the region as us-east-1 as well as all the default settings and click ```Create Bucket```\n", "\n", - "![s3-launch](images/s3_launch_3.png)" + "" ] }, { "cell_type": "markdown", - "id": "01184ed1-3844-4ea0-ba9c-2da13a8174ce", + "id": "8c3eca82", "metadata": {}, "source": [ - "You should now see the bucket being created as follows:\n", - "![s3-launch-4](images/s3_launch_4.png)" + "" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a8b8f92", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -90,7 +96,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.9.5" } }, "nbformat": 4, diff --git a/content/AWS/05_intro_to_cli.ipynb b/content/AWS/05_intro_to_cli.ipynb index 089c3b2..d66a8d0 100644 --- a/content/AWS/05_intro_to_cli.ipynb +++ b/content/AWS/05_intro_to_cli.ipynb @@ -26,55 +26,31 @@ }, { "cell_type": "markdown", - "id": "12c0c7ed-7ff4-4826-a4ef-3aedb0f22143", + "id": "8e8dd80c", "metadata": {}, "source": [ - "## Open a CloudShell\n", - "\n", "Now that we have successfully created an EC2 Instance and an s3 bucket, we will explore ways that these two AWS resources can interact. While your s3 bucket from the previously lesson is launching, we will navigate to the AWS CloudShell. You can find in the top toolbar of the console. \n", "\n", - "Clicking the icon will launch the AWS CloudShell.\n", - "![console-cloudshell](images/console-cloudshell.png)\n", + "Clicking the icon will launch the AWS CloudShell. \n", "\n", "If this is your first time using the cloud console, you may encounter a pop up. It is fine to dismiss it. \n", "\n", "Once we have launched the CloudShell, we can run some commands. Here a fundamental knowledge of unix commands may be useful but we will utilize the several aws-cli commands to help you get a feel of what the AWS CLI can do. At the prompt (the prompt is where is says [cloudshell-user@ip-XXXXXXX~]$), we will test out these commands:\n", - "![cloudshell](images/cloudshell.png)" - ] - }, - { - "cell_type": "markdown", - "id": "175776ed-7c95-468a-90c9-1bbdec3c5328", - "metadata": {}, - "source": [ - "## Using the CLI\n", "\n", - "To check which file directory you are working in" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "55024290-8843-4ae2-a81f-9ba6c5bdec13", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/home/ec2-user\n" - ] - } - ], - "source": [ - "pwd" - ] - }, - { - "cell_type": "markdown", - "id": "47bdf3d8-3772-4f95-a119-f1f5eba717a5", - "metadata": {}, - "source": [ + "To list the contents: \n", + "\n", + "``` bash\n", + "ls\n", + "\n", + "```\n", + "\n", + "To check which file directory you are working in:\n", + "\n", + "```bash\n", + "pwd\n", + "\n", + "```\n", + "\n", "To use the AWS command to list your s3 buckets:\n", "\n", "```bash\n", @@ -92,15 +68,20 @@ "Looks like there is nothing there right now. So let us create a text file called `hemingway.txt` and populate it with a nonsensical quote. \n", "\n", "```bash\n", - "echo \"The world breaks everyone\" > hemingway.txt\n", + "cat > hemingway.txt\n", + "The world breaks everyone. \n", "```\n", "\n", + "Press ^C to exit edit mode. \n", + "\n", "Now let's move the file into our s3 bucket. \n", "\n", "```bash\n", "aws s3 mv ./hemingway.txt s3://bucketname\n", "\n", - "```" + "```\n", + "\n", + "\n" ] }, { @@ -108,7 +89,7 @@ "id": "9ed2bb8f", "metadata": {}, "source": [ - "![cli-commands-1](images/cli_commands_1.png)" + "" ] }, { @@ -117,25 +98,38 @@ "metadata": {}, "source": [ "```{admonition} Exercise\n", - ":class:\n", + ":class: attention\n", "\n", - "* How can you see the contents of your bucket through the CLI? \n", "* How can you see the contents of your bucket through the AWS console? \n", - "```\n" + "````" + ] + }, + { + "cell_type": "markdown", + "id": "c27cdc13", + "metadata": {}, + "source": [ + "# Using the CLI to access resources" ] } ], "metadata": { "kernelspec": { - "display_name": "Bash", - "language": "bash", - "name": "bash" + "display_name": "Python 3", + "language": "python", + "name": "python3" }, "language_info": { - "codemirror_mode": "shell", - "file_extension": ".sh", - "mimetype": "text/x-sh", - "name": "bash" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" } }, "nbformat": 4, diff --git a/content/AWS/images/cloudshell.png b/content/AWS/images/cloudshell.png deleted file mode 100644 index bc22f5ec451b4f63b8bbd0a15b191b77af3cb567..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48858 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 diff --git a/content/AWS/images/console-cloudshell.png b/content/AWS/images/console-cloudshell.png deleted file mode 100644 index 0e713ae8a69b91c811221c8be9a9770d47342f8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31570 zcmZ^J1AL^*wr|I_Cg#L;GD#0su%vB&WitBx+(0Z9e?q(gFup`f3;G3@!ne7qXF25=;@N@J#}imQw{<+@8K9 z+@CjJSk>McvOiR#1}QLd8OB&aVX-F=Df!L+^Z0o7I=@%f&9!e!%f-gahQ}t)2S5;R zCwu_61|5)=Z!H;|gTv1V42bc9HrUGpK-cWq|M+IAp@AxBZTeo`(S?vZ^3=3%T;=!i z)|Cz)%d`&;_)L~Lp6JMiW-B~Mtxi7z4RFD{!lxg@mcJ$pwm>fw3J#;>aY^rzalFPX zNG|%8Po@Ej5AILp#GRl57+ws|$?lUCy^iZcZNk0^CJVknbv=aV<_nH*HPACXn3W_F zTE>jPfe_3i9hZ1lo}BO6lTSH3v{%~a>!_yb^FsKsgE$%aaby1e)5LVx)bbN~5PjUE zI7vOPqwm9PD)gvk5&=4I-`5S5S4;%s_ZhbF3U<9+P%9RR$qP zpLePJ9-?%L*s#?P35{{w0}0cU(b!zfTa&ku*|4R>$5oE4C{M?3c~X+7yo zG|JdRv&WIQ*-VM2RqH*+$ttA8978-R66??au1heXVPP1O+WX#+ryUt+t zWnh5gV$B>d$FLDsKqk`uC7H#Z*0LMT9+5q0Zi}xOu_}mh8iFVg$PB9&sCY>f zEsPo*M2(6y>+eiTJ`7$L@+t1i9t4ySngU-EtWA%hDS)ZxMDrVAZV+;!Aoxt7~8fWH@qHXaj&L5VSQ$^nx~`8HJZ}Gp2E7e$KodDc*7+LKTG6b~hU=gScgAO>v6=%7LZ5 zncX_Qw+7HG7quD{c#DuH!FNN0MsqcEwHdWuwcnRHt+`wQUqbt~+3m5pxpb&wg2o21 zw(hr(cPF=Px1k+~uPE9XH?S|Fc^1f=mGQ2vyatlQmh}e?`qq_%V1y=?O z2dnkU_L3N8mdLP^wxSh;TlBm1D}95wLcc=0Vu%o#rQ%8KmHetiRGQ?R_OTJ0f^+SPr5K~?X{BuTKh>~=RpvTvz5<%4(B?G!k%thKHI(C{h zCHEf^3hYY8w2W%ws`QF{Rqo0TA`!X975z#()Rl^~>b#}%s*@@k6*|S< zsvZ(h#osD+3VM}C)OkuAg-rY-^YIikRTy0$?ojX0UE)H2q)jh3uxp{6!B!@6mX+mO zR^t`4>NM)yMO)_JNlj>cuT05nQauB$>NZX}H5@V@ULIPf&oLh^W}+NBE$}Zq9fur$ zKjuHq;W)wr;{C?^#gWcIWR=e`!O_Q&YH>c-UdY3m%DLpi=w`dUX5>U{-lKJ(g{DQ< zh-|q&jW@SAb3cb|burVK%b#CRv|E~3RIhwkFXK(x&{7d5+LZnx!h zD}L8-`+8^W33JPPH+Uy|TX45@!gVabNrK0WsD$W>*MJ|5cZ>&(U&UI%LCm&``mKcr=^EGQe<9yp*&Jm7ME)QcVmOJJN)=Kscqfibb(2tBWjuY0f3Bqxx zgZ%?81_K0fguDU0sB;gH$K;L34ejBbRsus>3Qx*i%A1;{nvmK_WqPIF1XpGbv){{W z%+qECVFgBAQhTryJz$nX&A3g^ zlN~G>DO)D}+zYp_;y9SFGJ-Wypo8tk_3(Kr@n<5}xZ5tyO-^z156oi3AFV&mB?z(I zVWl9+zoyj4Jn~Km*!Zo6-A>;g-$q0)M-R$)n<^bh#z#`?Iy;n3&hAUM4PftpJLsoK zFIH73O6C?y!As&uYS&qWE3}fbCHqjFOgT)^Og%Nzo332#kB*6s*;O#>*IEqR=xna# zsO76Wsy9{7YB$=depntHLs;cbe(e5)vaylKK z+cDjLkD6?b;qZb8538DWd3+Z3k4LPcttOTTtGU+gn;mx4!}R5yd0jczom*FC_tzFy zJ91x68Dg~$?YuTSy~BJCJ>@0jAJ&iB9y~F;Ue2%1k=Cc0Kc0mqgRa6nVwq#%iRt(m zJ@W4gues_s@m>gCCU3nSHr?@_Znpt$Tl*KYn_Y+p0tI|@9#t>xuEVZJw>1~`OHm
UD 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 O{$7g9ixrC)`usnVaax4{ diff --git a/content/AWS/intro_to_AWS_Essentials.ipynb b/content/AWS/intro_to_AWS_Essentials.ipynb index 3a1b97e..7db8505 100644 --- a/content/AWS/intro_to_AWS_Essentials.ipynb +++ b/content/AWS/intro_to_AWS_Essentials.ipynb @@ -10,8 +10,9 @@ "The modules in this lesson are: \n", "\n", "1. [Introduction to the AWS Cloud Console](./01_intro_to_cloud_console)\n", - "2. [Introduction to Cloud Compute](./02_intro_to_compute)\n", - "4. [Introduction to Cloud Storage](./03_intro_to_cloud_storage)\n", + "2. [Introduction to Cloud Compute - Part 1](./02_intro_to_compute_part1)\n", + "3. [Introduction to Cloud Compute - Part 2](./03_intro_to_compute_part2)\n", + "4. [Introduction to Cloud Storage](./04_intro_to_cloud_storage)\n", "5. [Introduction to the AWS CLI](./05_intro_to_cli)\n", "6. [Running Analysis on the Cloud](./06_running_analysis)\n", "7. [Monitoring Costs](./07_monitoring_costs)\n", @@ -21,7 +22,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -35,7 +36,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.9.5" } }, "nbformat": 4, diff --git a/content/_toc.yml b/content/_toc.yml index 3a2f2a8..0ace1bd 100644 --- a/content/_toc.yml +++ b/content/_toc.yml @@ -14,8 +14,9 @@ parts: - file: AWS/intro_to_AWS_Essentials sections: - file: AWS/01_intro_to_cloud_console - - file: AWS/02_intro_to_compute - - file: AWS/03_intro_to_cloud_storage + - file: AWS/02_intro_to_compute_part1 + - file: AWS/03_intro_to_compute_part2 + - file: AWS/04_intro_to_cloud_storage - file: AWS/05_intro_to_cli - file: AWS/06_running_analysis - file: AWS/07_monitoring_costs From fef3fcd93e9474f9f43569c70c2a8a71476cb916 Mon Sep 17 00:00:00 2001 From: amanda-tan Date: Fri, 4 Feb 2022 11:28:35 -0800 Subject: [PATCH 13/19] Update README.md --- README.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f62fac3..56b09b3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,21 @@ -# CLASS-core -Curriculum development for Cloud for Researchers, A Primer +# CLASS-Essentials +This is the repository for the CLASS Essentials Curriculum material for AWS, GCP and Azure. -For development see the [build instructions](Build.md). +# Contribution Workflow +We use a `Feature` branch workflow: each user works on a specific Feature branch associated with a specific cloud provider. The core idea behind the `Feature` Branch Workflow is that all feature development should take place in a dedicated branch instead of the main branch. The Feature branches in this repository currently are `aws-dev`, `gcp-dev`, and `azure-dev`. More information can be found on [this Atlassian page](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow). + +Best Practices: +1. Do not edit directly in a branch that you did not create. Use Github issues or pull requests to suggest or request changes. +2. Make pull requests before merging to main. + +# Maintainers +[John Hicks](jhicks@internet2.edu) + +[Tim Middlekoop](tmiddelkoop@internet2.edu) + +[Ananya Ravipati](aravipati@internet2.edu) + +[Amanda Tan](atan@internet2.edu) + +# License +Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. From a65bbc333201a74249ec073400fc39890b69d87d Mon Sep 17 00:00:00 2001 From: amanda-tan Date: Fri, 4 Feb 2022 11:36:15 -0800 Subject: [PATCH 14/19] Create LICENSE.md --- LICENSE.md | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..2943180 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,173 @@ +# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International + +Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +### Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). + +* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). + +## Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +### Section 1 – Definitions. + +a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. __BY-NC-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. + +d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + +f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. + +h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + +h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. + +i. __NonCommercial__ means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. + +j. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + +k. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + +l. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +### Section 2 – Scope. + +a. ___License grant.___ + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and + + B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only. + + 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. __Term.__ The term of this Public License is specified in Section 6(a). + + 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. __Downstream recipients.__ + + A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + + C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. ___Other rights.___ + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. + +### Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. ___Attribution.___ + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + +b. ___ShareAlike.___ + +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. + +2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + +3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +### Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; + +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +### Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ + +b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ + +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +### Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +### Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +### Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +> +> Creative Commons may be contacted at creativecommons.org From c44baade034a17ff6a32f369e3dbdd667e5b4be3 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Fri, 4 Feb 2022 22:39:24 +0000 Subject: [PATCH 15/19] GCP: Remove from git workflow and replace with wget+unzip --- content/GCP/06_running_analysis.ipynb | 103 ++++++++++++++++++++------ 1 file changed, 80 insertions(+), 23 deletions(-) diff --git a/content/GCP/06_running_analysis.ipynb b/content/GCP/06_running_analysis.ipynb index 72780cd..82474b4 100644 --- a/content/GCP/06_running_analysis.ipynb +++ b/content/GCP/06_running_analysis.ipynb @@ -233,12 +233,12 @@ "source": [ "## Get Example Code\n", "\n", - "We will now install `git` and use it to download the example code into your home directory. For those of you who are unfamiliar with git, it is a way to collaboratively manage files and we will only be using it to download the example that we will be using. " + "We will now install `wget` and `unzip` and use it to download the example code into your home directory. " ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "id": "05fadd30-4f35-4a93-b713-cc132131b948", "metadata": {}, "outputs": [ @@ -249,18 +249,37 @@ "Reading package lists... Done\n", "Building dependency tree \n", "Reading state information... Done\n", - "git is already the newest version (1:2.20.1-2+deb10u3).\n", - "0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.\n" + "Suggested packages:\n", + " zip\n", + "The following NEW packages will be installed:\n", + " unzip wget\n", + "0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.\n", + "Need to get 1074 kB of archives.\n", + "After this operation, 3915 kB of additional disk space will be used.\n", + "Get:1 http://deb.debian.org/debian buster/main amd64 wget amd64 1.20.1-1.1 [902 kB]\n", + "Get:2 http://deb.debian.org/debian buster/main amd64 unzip amd64 6.0-23+deb10u2 [172 kB]\n", + "Fetched 1074 kB in 0s (40.4 MB/s)\n", + "Selecting previously unselected package wget.\n", + "(Reading database ... 57683 files and directories currently installed.)\n", + "Preparing to unpack .../wget_1.20.1-1.1_amd64.deb ...\n", + "Unpacking wget (1.20.1-1.1) ...\n", + "Selecting previously unselected package unzip.\n", + "Preparing to unpack .../unzip_6.0-23+deb10u2_amd64.deb ...\n", + "Unpacking unzip (6.0-23+deb10u2) ...\n", + "Setting up wget (1.20.1-1.1) ...\n", + "Setting up unzip (6.0-23+deb10u2) ...\n", + "Processing triggers for mime-support (3.62) ...\n", + "Processing triggers for man-db (2.8.5-2) ...\n" ] } ], "source": [ - "sudo apt-get install --yes git" + "sudo apt-get install --yes wget unzip" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "id": "96db6a66-3fbf-419a-b8c8-dbb27639e990", "metadata": {}, "outputs": [], @@ -268,9 +287,17 @@ "cd ~" ] }, + { + "cell_type": "markdown", + "id": "bebfa80a-85c7-4040-82d8-ff495b51324d", + "metadata": {}, + "source": [ + "Download the zip file `-nv` to make the output less verbose." + ] + }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "id": "36554c99-ba08-4733-8ef2-e68d42d0d2b7", "metadata": {}, "outputs": [ @@ -278,15 +305,45 @@ "name": "stdout", "output_type": "stream", "text": [ - "Cloning into 'CLASS-Examples'...\n", - "remote: Enumerating objects: 66, done.\u001b[K\n", - "remote: Total 66 (delta 0), reused 0 (delta 0), pack-reused 66\u001b[K\n", - "Unpacking objects: 100% (66/66), done.\n" + "2022-02-04 22:33:37 URL:https://github.internet2.edu/_codeload/CLASS/CLASS-Examples/zip/v1 [5482/5482] -> \"v1.zip\" [1]\n" + ] + } + ], + "source": [ + "wget -nv https://github.internet2.edu/CLASS/CLASS-Examples/archive/v1.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7418ed55-9f57-4e15-b9c7-8fe39e59ec29", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Archive: v1.zip\n", + "b3d47595a1679f3416774de87f76d5a2b9fe65bf\n", + " creating: CLASS-Examples-1/\n", + " inflating: CLASS-Examples-1/.gitignore \n", + " creating: CLASS-Examples-1/bayeswave/\n", + " extracting: CLASS-Examples-1/bayeswave/.gitignore \n", + " inflating: CLASS-Examples-1/bayeswave/ReadMe.md \n", + " inflating: CLASS-Examples-1/bayeswave/bayeswave-job.yaml \n", + " creating: CLASS-Examples-1/landsat/\n", + " inflating: CLASS-Examples-1/landsat/ReadMe.md \n", + " inflating: CLASS-Examples-1/landsat/clean.sh \n", + " inflating: CLASS-Examples-1/landsat/combine.py \n", + " inflating: CLASS-Examples-1/landsat/download.sh \n", + " inflating: CLASS-Examples-1/landsat/get-index.sh \n", + " inflating: CLASS-Examples-1/landsat/search.json \n", + " inflating: CLASS-Examples-1/landsat/search.py \n" ] } ], "source": [ - "git clone https://github.internet2.edu/CLASS/CLASS-Examples.git" + "unzip v1.zip" ] }, { @@ -299,12 +356,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 4, "id": "90c1cda7-60d4-44bb-84f8-e776a77a94ab", "metadata": {}, "outputs": [], "source": [ - "cd ~/CLASS-Examples/landsat/" + "cd ~/CLASS-Examples-1/landsat/" ] }, { @@ -314,13 +371,13 @@ "source": [ "Your prompt should now change showing the current directory as follows.\n", "```\n", - "learner@essentials:~/CLASS-Examples/landsat$\n", + "learner@essentials:~/CLASS-Examples-1/landsat$\n", "```" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "id": "55b628d5-6e5c-45a5-9cd3-c129db9cdcd2", "metadata": {}, "outputs": [ @@ -329,13 +386,13 @@ "output_type": "stream", "text": [ "total 28\n", - "-rw-r--r-- 1 learner learner 960 Jan 21 21:32 ReadMe.md\n", - "-rw-r--r-- 1 learner learner 72 Jan 21 21:32 clean.sh\n", - "-rw-r--r-- 1 learner learner 613 Jan 21 21:32 combine.py\n", - "-rw-r--r-- 1 learner learner 280 Jan 21 21:32 download.sh\n", - "-rw-r--r-- 1 learner learner 314 Jan 21 21:32 get-index.sh\n", - "-rw-r--r-- 1 learner learner 76 Jan 21 21:32 search.json\n", - "-rw-r--r-- 1 learner learner 783 Jan 21 21:32 search.py\n" + "-rw-r--r-- 1 learner learner 960 Dec 13 20:53 ReadMe.md\n", + "-rw-r--r-- 1 learner learner 72 Dec 13 20:53 clean.sh\n", + "-rw-r--r-- 1 learner learner 613 Dec 13 20:53 combine.py\n", + "-rw-r--r-- 1 learner learner 280 Dec 13 20:53 download.sh\n", + "-rw-r--r-- 1 learner learner 314 Dec 13 20:53 get-index.sh\n", + "-rw-r--r-- 1 learner learner 76 Dec 13 20:53 search.json\n", + "-rw-r--r-- 1 learner learner 783 Dec 13 20:53 search.py\n" ] } ], From 2e2aa089c139448edc283d1104283c5f05ee6635 Mon Sep 17 00:00:00 2001 From: amanda-tan Date: Sun, 6 Feb 2022 13:52:54 -0800 Subject: [PATCH 16/19] Revert "GCP: Remove from git workflow and replace with wget+unzip" --- content/GCP/06_running_analysis.ipynb | 103 ++++++-------------------- 1 file changed, 23 insertions(+), 80 deletions(-) diff --git a/content/GCP/06_running_analysis.ipynb b/content/GCP/06_running_analysis.ipynb index 82474b4..72780cd 100644 --- a/content/GCP/06_running_analysis.ipynb +++ b/content/GCP/06_running_analysis.ipynb @@ -233,12 +233,12 @@ "source": [ "## Get Example Code\n", "\n", - "We will now install `wget` and `unzip` and use it to download the example code into your home directory. " + "We will now install `git` and use it to download the example code into your home directory. For those of you who are unfamiliar with git, it is a way to collaboratively manage files and we will only be using it to download the example that we will be using. " ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 5, "id": "05fadd30-4f35-4a93-b713-cc132131b948", "metadata": {}, "outputs": [ @@ -249,37 +249,18 @@ "Reading package lists... Done\n", "Building dependency tree \n", "Reading state information... Done\n", - "Suggested packages:\n", - " zip\n", - "The following NEW packages will be installed:\n", - " unzip wget\n", - "0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.\n", - "Need to get 1074 kB of archives.\n", - "After this operation, 3915 kB of additional disk space will be used.\n", - "Get:1 http://deb.debian.org/debian buster/main amd64 wget amd64 1.20.1-1.1 [902 kB]\n", - "Get:2 http://deb.debian.org/debian buster/main amd64 unzip amd64 6.0-23+deb10u2 [172 kB]\n", - "Fetched 1074 kB in 0s (40.4 MB/s)\n", - "Selecting previously unselected package wget.\n", - "(Reading database ... 57683 files and directories currently installed.)\n", - "Preparing to unpack .../wget_1.20.1-1.1_amd64.deb ...\n", - "Unpacking wget (1.20.1-1.1) ...\n", - "Selecting previously unselected package unzip.\n", - "Preparing to unpack .../unzip_6.0-23+deb10u2_amd64.deb ...\n", - "Unpacking unzip (6.0-23+deb10u2) ...\n", - "Setting up wget (1.20.1-1.1) ...\n", - "Setting up unzip (6.0-23+deb10u2) ...\n", - "Processing triggers for mime-support (3.62) ...\n", - "Processing triggers for man-db (2.8.5-2) ...\n" + "git is already the newest version (1:2.20.1-2+deb10u3).\n", + "0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.\n" ] } ], "source": [ - "sudo apt-get install --yes wget unzip" + "sudo apt-get install --yes git" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "id": "96db6a66-3fbf-419a-b8c8-dbb27639e990", "metadata": {}, "outputs": [], @@ -287,17 +268,9 @@ "cd ~" ] }, - { - "cell_type": "markdown", - "id": "bebfa80a-85c7-4040-82d8-ff495b51324d", - "metadata": {}, - "source": [ - "Download the zip file `-nv` to make the output less verbose." - ] - }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "id": "36554c99-ba08-4733-8ef2-e68d42d0d2b7", "metadata": {}, "outputs": [ @@ -305,45 +278,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "2022-02-04 22:33:37 URL:https://github.internet2.edu/_codeload/CLASS/CLASS-Examples/zip/v1 [5482/5482] -> \"v1.zip\" [1]\n" - ] - } - ], - "source": [ - "wget -nv https://github.internet2.edu/CLASS/CLASS-Examples/archive/v1.zip" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "7418ed55-9f57-4e15-b9c7-8fe39e59ec29", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Archive: v1.zip\n", - "b3d47595a1679f3416774de87f76d5a2b9fe65bf\n", - " creating: CLASS-Examples-1/\n", - " inflating: CLASS-Examples-1/.gitignore \n", - " creating: CLASS-Examples-1/bayeswave/\n", - " extracting: CLASS-Examples-1/bayeswave/.gitignore \n", - " inflating: CLASS-Examples-1/bayeswave/ReadMe.md \n", - " inflating: CLASS-Examples-1/bayeswave/bayeswave-job.yaml \n", - " creating: CLASS-Examples-1/landsat/\n", - " inflating: CLASS-Examples-1/landsat/ReadMe.md \n", - " inflating: CLASS-Examples-1/landsat/clean.sh \n", - " inflating: CLASS-Examples-1/landsat/combine.py \n", - " inflating: CLASS-Examples-1/landsat/download.sh \n", - " inflating: CLASS-Examples-1/landsat/get-index.sh \n", - " inflating: CLASS-Examples-1/landsat/search.json \n", - " inflating: CLASS-Examples-1/landsat/search.py \n" + "Cloning into 'CLASS-Examples'...\n", + "remote: Enumerating objects: 66, done.\u001b[K\n", + "remote: Total 66 (delta 0), reused 0 (delta 0), pack-reused 66\u001b[K\n", + "Unpacking objects: 100% (66/66), done.\n" ] } ], "source": [ - "unzip v1.zip" + "git clone https://github.internet2.edu/CLASS/CLASS-Examples.git" ] }, { @@ -356,12 +299,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "90c1cda7-60d4-44bb-84f8-e776a77a94ab", "metadata": {}, "outputs": [], "source": [ - "cd ~/CLASS-Examples-1/landsat/" + "cd ~/CLASS-Examples/landsat/" ] }, { @@ -371,13 +314,13 @@ "source": [ "Your prompt should now change showing the current directory as follows.\n", "```\n", - "learner@essentials:~/CLASS-Examples-1/landsat$\n", + "learner@essentials:~/CLASS-Examples/landsat$\n", "```" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "id": "55b628d5-6e5c-45a5-9cd3-c129db9cdcd2", "metadata": {}, "outputs": [ @@ -386,13 +329,13 @@ "output_type": "stream", "text": [ "total 28\n", - "-rw-r--r-- 1 learner learner 960 Dec 13 20:53 ReadMe.md\n", - "-rw-r--r-- 1 learner learner 72 Dec 13 20:53 clean.sh\n", - "-rw-r--r-- 1 learner learner 613 Dec 13 20:53 combine.py\n", - "-rw-r--r-- 1 learner learner 280 Dec 13 20:53 download.sh\n", - "-rw-r--r-- 1 learner learner 314 Dec 13 20:53 get-index.sh\n", - "-rw-r--r-- 1 learner learner 76 Dec 13 20:53 search.json\n", - "-rw-r--r-- 1 learner learner 783 Dec 13 20:53 search.py\n" + "-rw-r--r-- 1 learner learner 960 Jan 21 21:32 ReadMe.md\n", + "-rw-r--r-- 1 learner learner 72 Jan 21 21:32 clean.sh\n", + "-rw-r--r-- 1 learner learner 613 Jan 21 21:32 combine.py\n", + "-rw-r--r-- 1 learner learner 280 Jan 21 21:32 download.sh\n", + "-rw-r--r-- 1 learner learner 314 Jan 21 21:32 get-index.sh\n", + "-rw-r--r-- 1 learner learner 76 Jan 21 21:32 search.json\n", + "-rw-r--r-- 1 learner learner 783 Jan 21 21:32 search.py\n" ] } ], From eaf0dc8800dd129012d429cf07620830af787876 Mon Sep 17 00:00:00 2001 From: Timothy Middelkoop Date: Mon, 7 Feb 2022 16:26:49 +0000 Subject: [PATCH 17/19] GCP: Update analysis names and flush out example episode --- content/GCP/06_running_analysis.ipynb | 328 +++++++++++------- .../img/compute-iam-scope-storage-full.png | Bin 0 -> 7821 bytes content/GCP/img/compute-iam-scope-top.png | Bin 0 -> 47971 bytes .../GCP/img/compute-iam-service-account.png | Bin 0 -> 29904 bytes content/GCP/img/example-object-preview.png | Bin 0 -> 340732 bytes content/GCP/img/example-object.png | Bin 0 -> 105357 bytes 6 files changed, 197 insertions(+), 131 deletions(-) create mode 100644 content/GCP/img/compute-iam-scope-storage-full.png create mode 100644 content/GCP/img/compute-iam-scope-top.png create mode 100644 content/GCP/img/compute-iam-service-account.png create mode 100644 content/GCP/img/example-object-preview.png create mode 100644 content/GCP/img/example-object.png diff --git a/content/GCP/06_running_analysis.ipynb b/content/GCP/06_running_analysis.ipynb index 72780cd..f5bfdd1 100644 --- a/content/GCP/06_running_analysis.ipynb +++ b/content/GCP/06_running_analysis.ipynb @@ -12,13 +12,22 @@ "\n", "**Teaching:** 80 min\n", "\n", - "**Exercises:**\n", + "**Exercises:** 8 min\n", "\n", "**Questions:**\n", - "* Can you show me an example?\n", + " * Can you show me an example?\n", "\n", "**Objectives:**\n", - "* Create a simple workflow using a cloud VM and cloud object storage.\n", + " * Create a simple workflow using a cloud VM and cloud object storage.\n", + " * Update a VM Instance software for important security updates.\n", + " * Create a VM Instance with the appropriate storage scope.\n", + " * Create a private regional storage bucket with appropriate security settings.\n", + " * Using the CLI to install software.\n", + " * Download source code using git\n", + " * Retrieve data from a bucket\n", + " * Run the python analysis code\n", + " * Store results in a bucket\n", + " * View the results in the Cloud Storage browser.\n", "\n", "```" ] @@ -30,30 +39,55 @@ "source": [ "## A Research Computational and Data Workflow - Drew's story\n", "\n", - "Drew needs to do some analysis on the data. They need data (satellite images stored in the cloud), computational resources (a virtual machine), some software (we will supply this), and a place to store the results (Cloud Storage). We will assemble all these parts in the cloud \n" + "Drew needs to do some analysis on the data. They need data (satellite images stored in the cloud), computational resources (a virtual machine), some software (we will supply this), and a place to store the results (Cloud Storage). We will assemble and process all these parts in the cloud with a simple example.\n" ] }, { "cell_type": "markdown", - "id": "6291edee-c2df-4941-9b8e-de42649640f9", + "id": "245ffbcb-bf77-4ad1-8bde-1c7d2717ab46", "metadata": {}, "source": [ "## Create a VM\n", "\n", - "Since we only create resources as we need them in the cloud, we will now create a new virtual machine (VM) for Drew to use for their analysis.\n", + "Since we only create resources as we need them in the cloud, we will now create a new virtual machine (VM)instance for Drew to use for their analysis.\n", "\n", - "We will do this as an exercise to give you practice in creating resources. Since the virtual machine will need access to storage on your behalf, you will need to change the **access scope** to give **Full** access to the **Storage** API to the virtual machine. \n", - "\n", - "### Exercise\n", + "We will do this as an exercise to give you practice in creating resources. Since the virtual machine will need access to storage on your behalf, you will need to change the **access scope** to give **Full** access to the **Storage** API to the virtual machine." + ] + }, + { + "cell_type": "markdown", + "id": "45cb5d1d-c28a-4e0e-a0f3-bf68add065be", + "metadata": {}, + "source": [ + "````{admonition} Exercise\n", "\n", "Using the console navigate to the \"Compute Engine\" service and create a new VM with the following properties.\n", " * Call the VM \"essentials\"\n", " * Allow the VM \"Full\" access to \"Storage\". This can be found under \"Identity and API\" on the \"create an instance\" page and then selecting \"Set access for each API\" and change \"Storage\" to \"Full\". **This will allow the VM to create, read, write, and delete all storage buckets in the project\"**\n", - " * Feel free to select a bit larger VM by changing the machine type to something larger, for example an \"e2-standard-2\".\n", + " * Select a bit larger VM by changing the machine type to something larger, for example an \"e2-standard-2\".\n", + "````" + ] + }, + { + "cell_type": "markdown", + "id": "009fbfee-f1ce-4046-8223-0aa11b21bd61", + "metadata": {}, + "source": [ + "*Instructor: place the above exercise instructions on the screen*\n", + "\n", + "*When you are done feel free to connect to the virtual machine on your own for additional practice. Once everyone has created their VM we will connect to the machine as described below.*\n", + "\n", + "Please verify that the virtual machine was created as above. If you are unsure delete the virtual machine instance and create it again.\n", "\n", - "*Instructor: place these instructions on the screen*\n", + "Verify that the **Compute Engine default service account** is being used.\n", + "![compute-iam-service-account](img/compute-iam-service-account.png)\n", "\n", - "*When you are done feel free to connect to the virtual machine on your own for additional practice. Once everyone has created their VM we will connect to the machine as described below.*" + "Change **Access scopes** to **Set access for each API**\n", + "![compute-iam-scope-top](img/compute-iam-scope-top.png)\n", + "\n", + "And set **Storage** to **Full**.\n", + "![compute-iam-scope-storage-full](img/compute-iam-scope-storage-full.png)\n", + "\n" ] }, { @@ -100,7 +134,7 @@ "source": [ "## Secure the VM\n", "\n", - "We first make sure that the VM is up to date with the latest security patches by running the following commands. Note: the `sudo unattended-upgrades` command only installs security patches." + "We first make sure that the VM is up to date with the latest security patches by running the following commands. Note: the `sudo unattended-upgrades` command only installs important security packages and does not upgrade all packages." ] }, { @@ -113,20 +147,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]\n", - "Hit:2 http://deb.debian.org/debian buster InRelease \u001b[0m\u001b[33m\n", - "Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]\n", - "Get:4 http://deb.debian.org/debian buster-backports InRelease [46.7 kB]\n", - "Hit:5 http://packages.cloud.google.com/apt cloud-sdk-buster InRelease\n", + "Hit:1 http://security.debian.org/debian-security buster/updates InRelease\n", + "Hit:2 http://deb.debian.org/debian buster InRelease\n", + "Hit:3 http://deb.debian.org/debian buster-updates InRelease\n", + "Hit:4 http://deb.debian.org/debian buster-backports InRelease\n", + "Get:5 http://packages.cloud.google.com/apt cloud-sdk-buster InRelease [6780 B]\n", "Hit:6 http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-buster InRelease\n", "Hit:7 http://packages.cloud.google.com/apt google-compute-engine-buster-stable InRelease\n", - "Get:8 http://deb.debian.org/debian buster-backports/main amd64 Packages.diff/Index [27.8 kB]\n", - "Get:9 http://deb.debian.org/debian buster-backports/main Translation-en.diff/Index [27.8 kB]\n", - "Get:10 http://deb.debian.org/debian buster-backports/main amd64 Packages 2022-01-21-2002.00.pdiff [2515 B]\n", - "Get:11 http://deb.debian.org/debian buster-backports/main Translation-en 2022-01-21-2002.00.pdiff [3068 B]\n", - "Get:10 http://deb.debian.org/debian buster-backports/main amd64 Packages 2022-01-21-2002.00.pdiff [2515 B]\n", - "Get:11 http://deb.debian.org/debian buster-backports/main Translation-en 2022-01-21-2002.00.pdiff [3068 B]\n", - "Fetched 225 kB in 1s (278 kB/s)0m\u001b[33m \u001b[0m\u001b[33m\n", + "Fetched 6780 B in 1s (8978 B/s)\n", "Reading package lists... Done\n", "Building dependency tree \n", "Reading state information... Done\n", @@ -172,7 +200,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "bucket: essentials-learner-2022-01-21 region: us-west2\n" + "bucket: essentials-learner-2022-02-07 region: us-west2\n" ] } ], @@ -192,7 +220,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Creating gs://essentials-learner-2022-01-21/...\n" + "Creating gs://essentials-learner-2022-02-07/...\n" ] } ], @@ -218,7 +246,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/\n" + "gs://essentials-learner-2022-02-07/\n" ] } ], @@ -260,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 11, "id": "96db6a66-3fbf-419a-b8c8-dbb27639e990", "metadata": {}, "outputs": [], @@ -270,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 12, "id": "36554c99-ba08-4733-8ef2-e68d42d0d2b7", "metadata": {}, "outputs": [ @@ -279,9 +307,11 @@ "output_type": "stream", "text": [ "Cloning into 'CLASS-Examples'...\n", - "remote: Enumerating objects: 66, done.\u001b[K\n", - "remote: Total 66 (delta 0), reused 0 (delta 0), pack-reused 66\u001b[K\n", - "Unpacking objects: 100% (66/66), done.\n" + "remote: Enumerating objects: 4, done.\u001b[K\n", + "remote: Counting objects: 100% (4/4), done.\u001b[K\n", + "remote: Compressing objects: 100% (4/4), done.\u001b[K\n", + "remote: Total 70 (delta 0), reused 1 (delta 0), pack-reused 66\u001b[K\n", + "Unpacking objects: 100% (70/70), done.\n" ] } ], @@ -299,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "id": "90c1cda7-60d4-44bb-84f8-e776a77a94ab", "metadata": {}, "outputs": [], @@ -320,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "id": "55b628d5-6e5c-45a5-9cd3-c129db9cdcd2", "metadata": {}, "outputs": [ @@ -329,13 +359,13 @@ "output_type": "stream", "text": [ "total 28\n", - "-rw-r--r-- 1 learner learner 960 Jan 21 21:32 ReadMe.md\n", - "-rw-r--r-- 1 learner learner 72 Jan 21 21:32 clean.sh\n", - "-rw-r--r-- 1 learner learner 613 Jan 21 21:32 combine.py\n", - "-rw-r--r-- 1 learner learner 280 Jan 21 21:32 download.sh\n", - "-rw-r--r-- 1 learner learner 314 Jan 21 21:32 get-index.sh\n", - "-rw-r--r-- 1 learner learner 76 Jan 21 21:32 search.json\n", - "-rw-r--r-- 1 learner learner 783 Jan 21 21:32 search.py\n" + "-rw-r--r-- 1 learner learner 964 Feb 7 16:04 ReadMe.md\n", + "-rw-r--r-- 1 learner learner 72 Feb 7 16:04 clean.sh\n", + "-rw-r--r-- 1 learner learner 280 Feb 7 16:04 download.sh\n", + "-rw-r--r-- 1 learner learner 314 Feb 7 16:04 get-index.sh\n", + "-rw-r--r-- 1 learner learner 613 Feb 7 16:04 process_sat.py\n", + "-rw-r--r-- 1 learner learner 76 Feb 7 16:04 search.json\n", + "-rw-r--r-- 1 learner learner 783 Feb 7 16:04 search.py\n" ] } ], @@ -357,7 +387,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "id": "e56ab74a-ae6d-4602-a26b-4a2656bd40cd", "metadata": {}, "outputs": [ @@ -406,7 +436,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "id": "bbe85b75-c7cd-40ed-a3b0-37cbd0a5f52e", "metadata": {}, "outputs": [ @@ -424,7 +454,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "id": "18a9b71c-5871-4ce2-a202-b48ad04e8d38", "metadata": {}, "outputs": [ @@ -438,7 +468,7 @@ "feature is enabled by default but requires that compiled crcmod be\n", "installed (see \"gsutil help crcmod\").\n", "\n", - "| [1 files][731.9 MiB/731.9 MiB] \n", + "/ [1 files][731.9 MiB/731.9 MiB] 63.0 MiB/s \n", "Operation completed over 1 objects/731.9 MiB. \n" ] } @@ -457,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "id": "2cdaf24c-c4aa-4e80-9236-939e7c982916", "metadata": {}, "outputs": [], @@ -475,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "id": "b005876c-f9af-43d6-80c6-f04295413b9b", "metadata": {}, "outputs": [ @@ -484,7 +514,7 @@ "output_type": "stream", "text": [ "total 2.5G\n", - "-rw-r--r-- 1 learner learner 2.5G Jan 21 21:32 index.csv\n" + "-rw-r--r-- 1 learner learner 2.5G Feb 7 16:04 index.csv\n" ] } ], @@ -502,7 +532,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 20, "id": "ffe969db-d207-44fe-8957-8d129c76ee8f", "metadata": {}, "outputs": [ @@ -521,6 +551,18 @@ "head --lines=4 data/index.csv" ] }, + { + "cell_type": "markdown", + "id": "f98c38de-87fa-4e66-9d4b-186fbf81b3b2", + "metadata": {}, + "source": [ + "````{admonition} Tip\n", + ":class: Tip\n", + "\n", + "Now our virtual machine instance is ready and we can access the code and data. Now is a great time to take a short break.\n", + "````" + ] + }, { "cell_type": "markdown", "id": "532e6da3-302a-4e8a-8570-752995f30f1d", @@ -533,7 +575,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 21, "id": "c5e300c3-e1f3-4cd4-9679-77725e61c4db", "metadata": {}, "outputs": [ @@ -577,7 +619,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 22, "id": "c9872510-4265-4b0e-aeb5-5a829ff69b24", "metadata": {}, "outputs": [ @@ -607,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 23, "id": "6912a9ec-0f9b-4500-ba20-d4280592b323", "metadata": {}, "outputs": [ @@ -638,7 +680,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 24, "id": "3572c518-df83-4906-bfa6-a37bde2a5063", "metadata": {}, "outputs": [ @@ -673,7 +715,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 25, "id": "cccec3e1-0dcd-4e3b-a059-a884f5219b66", "metadata": { "scrolled": true, @@ -687,14 +729,14 @@ "+++ gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_ANG.txt...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B1.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B3.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B10.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B3.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B11.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B4.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B2.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B6.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B5.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B4.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B11.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B7.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B2.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B8.TIF...\n", "==> NOTE: You are downloading one or more large file(s), which would\n", "run significantly faster if you enabled sliced object downloads. This\n", @@ -704,21 +746,21 @@ "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_B9.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_BQA.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20201007_20201016_01_T1/LC08_L1TP_025033_20201007_20201016_01_T1_MTL.txt...\n", - "- [14/14 files][952.9 MiB/952.9 MiB] 100% Done \n", + "| [14/14 files][952.9 MiB/952.9 MiB] 100% Done 18.6 MiB/s ETA 00:00:00 \n", "Operation completed over 14 objects/952.9 MiB. \n", "+++ gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_ANG.txt...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B3.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B1.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B10.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B4.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B5.TIF...\n", - "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B6.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B11.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B10.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B2.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B5.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B7.TIF...\n", + "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B6.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B8.TIF...\n", - "==> NOTE: You are downloading one or more large file(s), which would\n", + "==> NOTE: You are downloading one or more large file(s), which would \n", "run significantly faster if you enabled sliced object downloads. This\n", "feature is enabled by default but requires that compiled crcmod be\n", "installed (see \"gsutil help crcmod\").\n", @@ -726,7 +768,7 @@ "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_B9.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_BQA.TIF...\n", "Copying gs://gcp-public-data-landsat/LC08/01/025/033/LC08_L1TP_025033_20210519_20210528_01_T1/LC08_L1TP_025033_20210519_20210528_01_T1_MTL.txt...\n", - "/ [14/14 files][ 1.0 GiB/ 1.0 GiB] 100% Done 30.3 MiB/s ETA 00:00:00 \n", + "- [14/14 files][ 1.0 GiB/ 1.0 GiB] 100% Done 19.1 MiB/s ETA 00:00:00 \n", "Operation completed over 14 objects/1.0 GiB. \n" ] } @@ -745,7 +787,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 26, "id": "a37c1567-14b5-4dc7-bc27-d1b84411fce1", "metadata": {}, "outputs": [ @@ -754,9 +796,9 @@ "output_type": "stream", "text": [ "total 2564796\n", - "drwxr-xr-x 2 learner learner 4096 Jan 21 21:33 \u001b[0m\u001b[01;34mLC08_L1TP_025033_20201007_20201016_01_T1\u001b[0m\n", - "drwxr-xr-x 2 learner learner 4096 Jan 21 21:33 \u001b[01;34mLC08_L1TP_025033_20210519_20210528_01_T1\u001b[0m\n", - "-rw-r--r-- 1 learner learner 2626336574 Jan 21 21:32 index.csv\n" + "drwxr-xr-x 2 learner learner 4096 Feb 7 16:07 \u001b[0m\u001b[01;34mLC08_L1TP_025033_20201007_20201016_01_T1\u001b[0m\n", + "drwxr-xr-x 2 learner learner 4096 Feb 7 16:08 \u001b[01;34mLC08_L1TP_025033_20210519_20210528_01_T1\u001b[0m\n", + "-rw-r--r-- 1 learner learner 2626336574 Feb 7 16:04 index.csv\n" ] } ], @@ -776,7 +818,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 27, "id": "0c027e92-ae6f-4152-b8d6-5a70172de3e2", "metadata": {}, "outputs": [ @@ -807,12 +849,12 @@ } ], "source": [ - "cat combine.py" + "cat process_sat.py" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 28, "id": "77999a80-7cfd-46d3-86a6-05d199f7e66d", "metadata": {}, "outputs": [ @@ -821,14 +863,14 @@ "output_type": "stream", "text": [ "Traceback (most recent call last):\n", - " File \"combine.py\", line 3, in \n", + " File \"process_sat.py\", line 3, in \n", " import rasterio\n", "ModuleNotFoundError: No module named 'rasterio'\n" ] } ], "source": [ - "python3 combine.py\n", + "python3 process_sat.py\n", "/bin/true # ignore this line used for jupyter" ] }, @@ -843,7 +885,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 29, "id": "b5a2b29b-9c1d-4376-a3eb-4a3dc4bac160", "metadata": { "scrolled": true, @@ -900,8 +942,8 @@ "0 upgraded, 79 newly installed, 0 to remove and 2 not upgraded.\n", "Need to get 46.8 MB of archives.\n", "After this operation, 172 MB of additional disk space will be used.\n", - "Get:1 http://security.debian.org/debian-security buster/updates/main amd64 libicu63 amd64 63.1-6+deb10u2 [8300 kB]\n", - "Get:2 http://deb.debian.org/debian buster/main amd64 poppler-data all 0.4.9-2 [1473 kB]\n", + "Get:1 http://deb.debian.org/debian buster/main amd64 poppler-data all 0.4.9-2 [1473 kB]\n", + "Get:2 http://security.debian.org/debian-security buster/updates/main amd64 libicu63 amd64 63.1-6+deb10u2 [8300 kB]\n", "Get:3 http://deb.debian.org/debian buster/main amd64 fonts-dejavu-core all 2.37-1 [1068 kB]\n", "Get:4 http://deb.debian.org/debian buster/main amd64 fontconfig-config all 2.13.1-2 [280 kB]\n", "Get:5 http://deb.debian.org/debian buster/main amd64 gdal-data all 2.4.0+dfsg-1 [744 kB]\n", @@ -909,36 +951,36 @@ "Get:7 http://deb.debian.org/debian buster/main amd64 libgfortran5 amd64 8.3.0-6 [581 kB]\n", "Get:8 http://deb.debian.org/debian buster/main amd64 libblas3 amd64 3.8.0-2 [148 kB]\n", "Get:9 http://deb.debian.org/debian buster/main amd64 liblapack3 amd64 3.8.0-2 [2110 kB]\n", - "Get:10 http://deb.debian.org/debian buster/main amd64 libarpack2 amd64 3.7.0-2 [102 kB]\n", - "Get:11 http://deb.debian.org/debian buster/main amd64 libsuperlu5 amd64 5.2.1+dfsg1-4 [161 kB]\n", - "Get:12 http://security.debian.org/debian-security buster/updates/main amd64 libtiff5 amd64 4.1.0+git191117-2~deb10u3 [271 kB]\n", - "Get:13 http://deb.debian.org/debian buster/main amd64 libarmadillo9 amd64 1:9.200.7+dfsg-1 [88.6 kB]\n", - "Get:14 http://security.debian.org/debian-security buster/updates/main amd64 libnss3 amd64 2:3.42.1-1+deb10u4 [1161 kB]\n", - "Get:15 http://deb.debian.org/debian buster/main amd64 libcharls2 amd64 2.0.0+dfsg-1 [64.3 kB]\n", - "Get:16 http://deb.debian.org/debian buster/main amd64 libxml2 amd64 2.9.4+dfsg1-7+deb10u2 [689 kB]\n", - "Get:17 http://deb.debian.org/debian buster/main amd64 libdap25 amd64 3.20.3-1 [557 kB]\n", - "Get:18 http://security.debian.org/debian-security buster/updates/main amd64 libpq5 amd64 11.14-0+deb10u1 [171 kB]\n", - "Get:19 http://security.debian.org/debian-security buster/updates/main amd64 python3-lxml amd64 4.3.2-1+deb10u4 [1163 kB]\n", - "Get:20 http://deb.debian.org/debian buster/main amd64 libdapclient6v5 amd64 3.20.3-1 [202 kB]\n", - "Get:21 http://deb.debian.org/debian buster/main amd64 libdapserver7v5 amd64 3.20.3-1 [131 kB]\n", - "Get:22 http://deb.debian.org/debian buster/main amd64 libepsilon1 amd64 0.9.2+dfsg-4 [42.0 kB]\n", - "Get:23 http://deb.debian.org/debian buster/main amd64 libfontconfig1 amd64 2.13.1-2 [346 kB]\n", - "Get:24 http://deb.debian.org/debian buster/main amd64 libfreexl1 amd64 1.0.5-3 [34.1 kB]\n", - "Get:25 http://deb.debian.org/debian buster/main amd64 libfyba0 amd64 4.1.1-6 [114 kB]\n", - "Get:26 http://deb.debian.org/debian buster/main amd64 libgeos-3.7.1 amd64 3.7.1-1 [735 kB]\n", - "Get:27 http://deb.debian.org/debian buster/main amd64 libgeos-c1v5 amd64 3.7.1-1 [299 kB]\n", - "Get:28 http://deb.debian.org/debian buster/main amd64 proj-data all 5.2.0-1 [6986 kB]\n", - "Get:29 http://deb.debian.org/debian buster/main amd64 libproj13 amd64 5.2.0-1 [225 kB]\n", - "Get:30 http://deb.debian.org/debian buster/main amd64 libjbig0 amd64 2.1-3.1+b2 [31.0 kB]\n", - "Get:31 http://deb.debian.org/debian buster/main amd64 libjpeg62-turbo amd64 1:1.5.2-2+deb10u1 [133 kB]\n", - "Get:32 http://deb.debian.org/debian buster/main amd64 libwebp6 amd64 0.6.1-2+deb10u1 [261 kB]\n", - "Get:33 http://deb.debian.org/debian buster/main amd64 libgeotiff2 amd64 1.4.3-1 [72.0 kB]\n", - "Get:34 http://deb.debian.org/debian buster/main amd64 libgif7 amd64 5.1.4-3 [43.3 kB]\n", - "Get:35 http://deb.debian.org/debian buster/main amd64 libhdf4-0-alt amd64 4.2.13-4 [277 kB]\n", - "Get:36 http://deb.debian.org/debian buster/main amd64 libsz2 amd64 1.0.2-1 [6676 B]\n", - "Get:37 http://deb.debian.org/debian buster/main amd64 libhdf5-103 amd64 1.10.4+repack-10 [1325 kB]\n", - "Get:38 http://deb.debian.org/debian buster/main amd64 libminizip1 amd64 1.1-8+b1 [20.4 kB]\n", - "Get:39 http://deb.debian.org/debian buster/main amd64 liburiparser1 amd64 0.9.1-1 [47.8 kB]\n", + "Get:10 http://security.debian.org/debian-security buster/updates/main amd64 libtiff5 amd64 4.1.0+git191117-2~deb10u3 [271 kB]\n", + "Get:11 http://security.debian.org/debian-security buster/updates/main amd64 liburiparser1 amd64 0.9.1-1+deb10u1 [48.1 kB]\n", + "Get:12 http://security.debian.org/debian-security buster/updates/main amd64 libnss3 amd64 2:3.42.1-1+deb10u5 [1160 kB]\n", + "Get:13 http://security.debian.org/debian-security buster/updates/main amd64 libpq5 amd64 11.14-0+deb10u1 [171 kB]\n", + "Get:14 http://security.debian.org/debian-security buster/updates/main amd64 python3-lxml amd64 4.3.2-1+deb10u4 [1163 kB]\n", + "Get:15 http://deb.debian.org/debian buster/main amd64 libarpack2 amd64 3.7.0-2 [102 kB]\n", + "Get:16 http://deb.debian.org/debian buster/main amd64 libsuperlu5 amd64 5.2.1+dfsg1-4 [161 kB]\n", + "Get:17 http://deb.debian.org/debian buster/main amd64 libarmadillo9 amd64 1:9.200.7+dfsg-1 [88.6 kB]\n", + "Get:18 http://deb.debian.org/debian buster/main amd64 libcharls2 amd64 2.0.0+dfsg-1 [64.3 kB]\n", + "Get:19 http://deb.debian.org/debian buster/main amd64 libxml2 amd64 2.9.4+dfsg1-7+deb10u2 [689 kB]\n", + "Get:20 http://deb.debian.org/debian buster/main amd64 libdap25 amd64 3.20.3-1 [557 kB]\n", + "Get:21 http://deb.debian.org/debian buster/main amd64 libdapclient6v5 amd64 3.20.3-1 [202 kB]\n", + "Get:22 http://deb.debian.org/debian buster/main amd64 libdapserver7v5 amd64 3.20.3-1 [131 kB]\n", + "Get:23 http://deb.debian.org/debian buster/main amd64 libepsilon1 amd64 0.9.2+dfsg-4 [42.0 kB]\n", + "Get:24 http://deb.debian.org/debian buster/main amd64 libfontconfig1 amd64 2.13.1-2 [346 kB]\n", + "Get:25 http://deb.debian.org/debian buster/main amd64 libfreexl1 amd64 1.0.5-3 [34.1 kB]\n", + "Get:26 http://deb.debian.org/debian buster/main amd64 libfyba0 amd64 4.1.1-6 [114 kB]\n", + "Get:27 http://deb.debian.org/debian buster/main amd64 libgeos-3.7.1 amd64 3.7.1-1 [735 kB]\n", + "Get:28 http://deb.debian.org/debian buster/main amd64 libgeos-c1v5 amd64 3.7.1-1 [299 kB]\n", + "Get:29 http://deb.debian.org/debian buster/main amd64 proj-data all 5.2.0-1 [6986 kB]\n", + "Get:30 http://deb.debian.org/debian buster/main amd64 libproj13 amd64 5.2.0-1 [225 kB]\n", + "Get:31 http://deb.debian.org/debian buster/main amd64 libjbig0 amd64 2.1-3.1+b2 [31.0 kB]\n", + "Get:32 http://deb.debian.org/debian buster/main amd64 libjpeg62-turbo amd64 1:1.5.2-2+deb10u1 [133 kB]\n", + "Get:33 http://deb.debian.org/debian buster/main amd64 libwebp6 amd64 0.6.1-2+deb10u1 [261 kB]\n", + "Get:34 http://deb.debian.org/debian buster/main amd64 libgeotiff2 amd64 1.4.3-1 [72.0 kB]\n", + "Get:35 http://deb.debian.org/debian buster/main amd64 libgif7 amd64 5.1.4-3 [43.3 kB]\n", + "Get:36 http://deb.debian.org/debian buster/main amd64 libhdf4-0-alt amd64 4.2.13-4 [277 kB]\n", + "Get:37 http://deb.debian.org/debian buster/main amd64 libsz2 amd64 1.0.2-1 [6676 B]\n", + "Get:38 http://deb.debian.org/debian buster/main amd64 libhdf5-103 amd64 1.10.4+repack-10 [1325 kB]\n", + "Get:39 http://deb.debian.org/debian buster/main amd64 libminizip1 amd64 1.1-8+b1 [20.4 kB]\n", "Get:40 http://deb.debian.org/debian buster/main amd64 libkmlbase1 amd64 1.3.0-7 [48.9 kB]\n", "Get:41 http://deb.debian.org/debian buster/main amd64 libkmldom1 amd64 1.3.0-7 [172 kB]\n", "Get:42 http://deb.debian.org/debian buster/main amd64 libkmlengine1 amd64 1.3.0-7 [78.4 kB]\n", @@ -979,11 +1021,11 @@ "Get:77 http://deb.debian.org/debian buster/main amd64 python3-pyparsing all 2.2.0+dfsg1-2 [89.6 kB]\n", "Get:78 http://deb.debian.org/debian buster/main amd64 python3-snuggs all 1.4.3-1 [7228 B]\n", "Get:79 http://deb.debian.org/debian buster/main amd64 python3-rasterio amd64 1.0.21-1 [818 kB]\n", - "Fetched 46.8 MB in 2s (28.9 MB/s) \n", + "Fetched 46.8 MB in 5s (8830 kB/s) \n", "Extracting templates from packages: 100%\n", "Preconfiguring packages ...\n", "Selecting previously unselected package poppler-data.\n", - "(Reading database ... 57529 files and directories currently installed.)\n", + "(Reading database ... 57683 files and directories currently installed.)\n", "Preparing to unpack .../00-poppler-data_0.4.9-2_all.deb ...\n", "Unpacking poppler-data (0.4.9-2) ...\n", "Selecting previously unselected package fonts-dejavu-core.\n", @@ -1089,8 +1131,8 @@ "Preparing to unpack .../34-libminizip1_1.1-8+b1_amd64.deb ...\n", "Unpacking libminizip1:amd64 (1.1-8+b1) ...\n", "Selecting previously unselected package liburiparser1:amd64.\n", - "Preparing to unpack .../35-liburiparser1_0.9.1-1_amd64.deb ...\n", - "Unpacking liburiparser1:amd64 (0.9.1-1) ...\n", + "Preparing to unpack .../35-liburiparser1_0.9.1-1+deb10u1_amd64.deb ...\n", + "Unpacking liburiparser1:amd64 (0.9.1-1+deb10u1) ...\n", "Selecting previously unselected package libkmlbase1:amd64.\n", "Preparing to unpack .../36-libkmlbase1_1.3.0-7_amd64.deb ...\n", "Unpacking libkmlbase1:amd64 (1.3.0-7) ...\n", @@ -1140,8 +1182,8 @@ "Preparing to unpack .../51-libnspr4_2%3a4.20-1_amd64.deb ...\n", "Unpacking libnspr4:amd64 (2:4.20-1) ...\n", "Selecting previously unselected package libnss3:amd64.\n", - "Preparing to unpack .../52-libnss3_2%3a3.42.1-1+deb10u4_amd64.deb ...\n", - "Unpacking libnss3:amd64 (2:3.42.1-1+deb10u4) ...\n", + "Preparing to unpack .../52-libnss3_2%3a3.42.1-1+deb10u5_amd64.deb ...\n", + "Unpacking libnss3:amd64 (2:3.42.1-1+deb10u5) ...\n", "Selecting previously unselected package libpoppler82:amd64.\n", "Preparing to unpack .../53-libpoppler82_0.71.0-5_amd64.deb ...\n", "Unpacking libpoppler82:amd64 (0.71.0-5) ...\n", @@ -1257,7 +1299,7 @@ "Setting up libgfortran5:amd64 (8.3.0-6) ...\n", "Setting up libhdf4-0-alt (4.2.13-4) ...\n", "Setting up libgif7:amd64 (5.1.4-3) ...\n", - "Setting up liburiparser1:amd64 (0.9.1-1) ...\n", + "Setting up liburiparser1:amd64 (0.9.1-1+deb10u1) ...\n", "Setting up libfreexl1:amd64 (1.0.5-3) ...\n", "Setting up libfyba0:amd64 (4.1.1-6) ...\n", "Setting up libkmlbase1:amd64 (1.3.0-7) ...\n", @@ -1277,7 +1319,7 @@ "Setting up fontconfig-config (2.13.1-2) ...\n", "Setting up python3-cligj (0.5.0-1) ...\n", "Setting up libdap25:amd64 (3.20.3-1) ...\n", - "Setting up libnss3:amd64 (2:3.42.1-1+deb10u4) ...\n", + "Setting up libnss3:amd64 (2:3.42.1-1+deb10u5) ...\n", "Setting up libdapserver7v5:amd64 (3.20.3-1) ...\n", "Setting up python3-bs4 (4.7.1-1) ...\n", "Setting up libgeotiff2:amd64 (1.4.3-1) ...\n", @@ -1315,7 +1357,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 31, "id": "b9e367a0-26ce-42ce-bb04-6a432f41876e", "metadata": {}, "outputs": [ @@ -1331,7 +1373,7 @@ } ], "source": [ - "/usr/bin/python3 combine.py" + "/usr/bin/python3 process_sat.py" ] }, { @@ -1352,7 +1394,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 32, "id": "db9f26aa-6317-4834-8bf1-972c8b3cc032", "metadata": {}, "outputs": [ @@ -1361,8 +1403,8 @@ "output_type": "stream", "text": [ "total 192M\n", - "-rw-r--r-- 1 learner learner 192M Jan 21 21:34 \u001b[0m\u001b[01;35mresult-LC08_L1TP_025033_20201007_20201016_01_T1.png\u001b[0m\n", - "-rw-r--r-- 1 learner learner 910 Jan 21 21:34 result-LC08_L1TP_025033_20201007_20201016_01_T1.png.aux.xml\n" + "-rw-r--r-- 1 learner learner 192M Feb 7 16:09 \u001b[0m\u001b[01;35mresult-LC08_L1TP_025033_20201007_20201016_01_T1.png\u001b[0m\n", + "-rw-r--r-- 1 learner learner 910 Feb 7 16:09 result-LC08_L1TP_025033_20201007_20201016_01_T1.png.aux.xml\n" ] } ], @@ -1382,7 +1424,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 33, "id": "9345472f-4ef3-490b-a80e-2462cd534c89", "metadata": {}, "outputs": [ @@ -1390,7 +1432,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "essentials-learner-2022-01-21\n" + "essentials-learner-2022-02-07\n" ] } ], @@ -1400,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 34, "id": "27dfae96-faf2-4d5d-8a78-97781841f172", "metadata": {}, "outputs": [ @@ -1408,7 +1450,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/\n" + "gs://essentials-learner-2022-02-07/\n" ] } ], @@ -1428,7 +1470,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 35, "id": "681e6b1d-98bb-448a-a57e-f5674214effd", "metadata": {}, "outputs": [ @@ -1469,7 +1511,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 36, "id": "248c47be-625f-44f5-a6b6-919e8d8baafd", "metadata": {}, "outputs": [ @@ -1477,7 +1519,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "gs://essentials-learner-2022-01-21/output/\n" + "gs://essentials-learner-2022-02-07/output/\n" ] } ], @@ -1487,7 +1529,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 37, "id": "b1ea18e9-5861-4479-9948-3303952dee8a", "metadata": {}, "outputs": [ @@ -1495,8 +1537,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "191.58 MiB 2022-01-21T21:34:56Z gs://essentials-learner-2022-01-21/output/result-LC08_L1TP_025033_20201007_20201016_01_T1.png\n", - " 910 B 2022-01-21T21:34:54Z gs://essentials-learner-2022-01-21/output/result-LC08_L1TP_025033_20201007_20201016_01_T1.png.aux.xml\n", + "191.58 MiB 2022-02-07T16:09:41Z gs://essentials-learner-2022-02-07/output/result-LC08_L1TP_025033_20201007_20201016_01_T1.png\n", + " 910 B 2022-02-07T16:09:39Z gs://essentials-learner-2022-02-07/output/result-LC08_L1TP_025033_20201007_20201016_01_T1.png.aux.xml\n", "TOTAL: 2 objects, 200890195 bytes (191.58 MiB)\n" ] } @@ -1507,7 +1549,7 @@ }, { "cell_type": "markdown", - "id": "66a41f97-3834-4d09-bfe5-c3f224628842", + "id": "36530927-2205-4586-bca7-10b8698f5a15", "metadata": {}, "source": [ "## Viewing the Results\n", @@ -1515,6 +1557,30 @@ "You now can view the results by using the Google Cloud Platform Web Console and navigating to \"Cloud Storage\", selecting the bucket, and then the result object you wish to view (select the `.png` file). You will need to click the \"Preview\" button given the large size of the image." ] }, + { + "cell_type": "markdown", + "id": "4de32b26-f4cb-4f33-b7d5-e3852769840a", + "metadata": {}, + "source": [ + "````{admonition} Exercise\n", + "\n", + " * Try to find and view the results on your own\n", + "\n", + "````" + ] + }, + { + "cell_type": "markdown", + "id": "9f7a4893-104a-4467-84ac-871d21db6050", + "metadata": {}, + "source": [ + "Navigate to **Cloud Storage** -> **Browser** -> **Bucket** -> **output** folder and then click on the **result** object.\n", + "![example-object](img/example-object.png)\n", + "\n", + "And press the **Preview** button below the object details (check the details) and you should see something similar to the following:\n", + "![example-object-preview](img/example-object-preview.png)" + ] + }, { "cell_type": "markdown", "id": "40d9ab41-8920-45f2-8218-550baac5b069", diff --git a/content/GCP/img/compute-iam-scope-storage-full.png b/content/GCP/img/compute-iam-scope-storage-full.png new file mode 100644 index 0000000000000000000000000000000000000000..670ce4889dbfa85b68b1d7e53a34db69ab10d17a GIT binary patch literal 7821 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 AC;$Ke literal 0 HcmV?d00001 diff --git a/content/GCP/img/compute-iam-scope-top.png b/content/GCP/img/compute-iam-scope-top.png new file mode 100644 index 0000000000000000000000000000000000000000..1400754cb10c9be3ed56ef72a7080956794bcbb9 GIT binary patch literal 47971 zcmb?@WkA$R`!*oRB1(ryH_{=U(h34fON(^((%mg8po9{FbcdvLgM`G=AV_!DJ8PWB zbN=Uidv%4~{nf-hGgsVWsFH%rts8f4ARr*zdLS$L1OWjByhW6TTnE3nb2wiiAl!hN zNk}L?kdUBIvbQldvou0LkPUqmkE#-_Ef>e^0#y0>* zLR_qv$)B1%EjvV?=*xX<6d4&Y%McWFe;=wtL?YyuPDT0>Mxy#?T%{&1{nJVDN8P=i zN7F}rXZDwfJ~%zt;X?+r2%M6dFKoSS+$^<)NRLPw5pIPv;+xu4J>lSDX1-0q!*w+> zJ#%ef(WBj*bF{(xO7Br%d%Qik97|#TK{XMCm)h_p)9dGmJ_5eSw;W1Z;yefq-XNP{ z&Aor1khsJamvpbyH1lIZhb=*qG{S5rNfZqVLdmW9EE5Oi7@04qtM_mDX!h`TKc z30ae@4m-HvI88K#Wl&2v;=2JXW15S*CS7{F^qqSSe0S|rrbl1Sc?LYO6EJDLa=mv2 z;~X^N;+BuOPauob6st+f-*9Hu?YGGM@F|u+v-q^iIUf3R#K&AcuS(`k654mrUKBpk z!xC!l6c?=!QX~+x4?1}=6GHTw89jdV;p?IVuAbPQudgztIxmn!v{FRXv52^u$D6*R za4|m$hrEe2=)Azutg7{{@0f9~C`k3#A{rFkQ15tM*oz~1z2m4aaU+%OS>Mvjwl4RD z9ZwGv!?eYnd1f0|7CW~Dp_J53wj;Sx>P3svm~Q?W9(k{zk4cS1MAtZNd36Mf~}xe>}P6(eOrrAU(6M_`w~Jh)-GzK)RK;gwa`0y|Ugr_BgT zJuq^nR@cPz_0=TLy5>__j-VvkdwMfgP`(0nR-8edt~2HEJ^c)ON1-3pJH%V>&~N$@ z6^Xk!AXzt}ukc|7_{n0SzD8ih^0`TY$ghvDfw_C1a_ok)pM4QI39?M1oh{BiABS0- zs_WLi7z4M+e0A9obp0N0lSN2i1^6>y;Sc)kQy6yOl=$C{L0v>gk(g5=c?roBqmsRz z@5dt^sD!41LF$w9KJ`7<0PXkd!)U@jr|%5D-`XdV{`@@Q`dTC1won2h*Bk{Oj_%E@ z#zb4zBvc#U?%9XOx3w|#{A@l?*|MGEkVzoop=AaQ%4oj7%|O72hade=`hk*#5=!n{|29D6lJwXSPP zT0sO0-Dr=Rv*o*$MB7J77`8B5VtZ0GRb^NeUd1|zut}W~Fxm{8yV%}=VtZYy$MeSX zMw|&GZ;8fz328%C7iaL5(YVh*M?!TE+Zy*eWI@s>?e3T4+YjVv3+P{CTZF2IMu*xw zpm~AV8CVuWLz7SaDpnz;AnsH)wS)0FI%jy2*z4HJ7|gi0otPaqck#l|TElS^JJT%R zt0=Q7r#um1RKm~0AG;wGSbhWl#=#Ap8-;jiVQpdZt+Zj)VVPlBcs5K?4A?K_Uurxg z$>e^B|Ip;6+sn3>AG<2L-ggmoNp;D*vSGmdIIAMB;-Ly zok5nSn~5<{bWi!t+t&}7GDx$^hon_iRY+CRRpWEjvQyMIR3$zpW*3hPj)aXU7RTlpW|l*y1JJb4uVn+;*@@}Z zihDUrAq0=QABE?tzH@rA_MRut>OE;e-IKF-&TkJBq6(rKqBKk@`;3yYb+~odrc|a# zKM^_xA7s0cxrx`2x)C1e4ydlky9v}qcm;~&6y}q^V;d5EH&Y;Lt#6KHRP^~>-)t!5 zml%Tt%c|z0R@-6Oeufs)SC1pVNErHYG;8SBc2|uY`-gsf5Yb5&cRh|$*-5#=tiUXC z#gHp3F-!AFA z!z^3Nx+-#tS4-7OF)F6@r}Qt(Q@+$5yTX>r`_7CPOyjH_I+kMd!>rzIT!+!Yc%2EH zwQFwF)Ewfui=LGqMjjTDGLs%-oRMq_J|UGL;pMO3^K!Cxe!({)a7&PwpI%_gZqs1k zwm}3{n-gI~cxCs~cn8*0?PTpzZN*QQbH?9ZFF6lenbxm(T%JqpolV`EtGQY!W>@=6R%6zb zdMj^N<>b-FRA0R?y~vsDhV-k4S4#-;VoHq_K4cXbZ@UYOqpu5~7GTukNMeLR7%|-l zEU}rAAW2jN3+d|Dij}>i#0w~qs0d?J)f_a&p_Kyh*dJTm@dyxBwY3i&}!MvP-|8Ao^!B$FpG zaa~YTuR_LI>aacOdy;bZtN8HOmH9;)#jdUT1$vu`OkbF)nY7ea3ZFLQ*l;@>_;L@t z$>3(OxHYR5CZ!mJs>KRls#^_q1W}s(?<9Qt!n~X{XiD z<<^%O^ah(5%Ldn@B^#7lzqf%rfti7NVO3JR-bEMh*Mmb@I<+Rklf#azTCMS|>MDC3 zV6iygUQE8Y+@OT5xeU1AtwSpvR{DrDF*46wuw6Qx4_>3hb8qrY)Hxl++uwI}33QQ~ zBHIvtd*m_J4TF{UTj*_gC0_)diC!_B?_45YT|0P1_bL;$7_}5rL=?|6`+&YpaYXfv zYM`nfW;n(X8Jehl=0x?U)9k}9^LMJG)wn#E=QP^wQWql2)yh#Uon`LLacR_Vwz}fymhB~VVe0?xeI-Xh@t*u_;%mCf4?`yT{bV9p-Uaiu zt0(j5E$FUV!E0%((n`SD@#0h0DdbQ+8Y^JJDA!ycJu0`BOoA&n5k$u zYCMt`Fto8^HF$3G%!n0gWedLqK?o`U-dY(s8c;y3EUg^`pu$u?&JY0a;a{^+QT#Z? z(L$I??Lfhz=e(?|Lc}t7yo(ipBMgk zq{jaq$-&9T{^v9QIP}M*@Hz-6+M9vL8NeG+ghPn!|9toBd?7Y?3;)sLKfCkCx1c{o zZV0jc6&oTq5%=9!TC-fg-Laqt!-?T(vh8$T^SSHDZx_I1!K$cqsle|?GR(or0+u^rVS1{|9fD}AoA|FZj&2`3M;H? z3zA~U|N7b$@V%!Z_OtZ={vdOl7=(m37ddMGSr#Aan7)S;yGX;P|5YU{-$^O`?b*+X zYR4~?6^i%emGAogN5$Z+7)7I0pj|D$mZ|E)C6$5vzdHTBHK}3*(JZGvjod@k-&_|Q zdHU})1l8uGjd}grco(4uFAnG5n-l)jO>_M^jO^Z#m53M4c%ETlYDA6%-z2S57G zcj|%u`dD#=>z;A0(tE#=JWU4|f@JzGoEf1nz2+HztKxGCF^H{Oy~hbB$#B%KBhLwa zzog5+5;zRCoz=DN0$(wzG8%lPPqOvP*Q)HBsIaowsyotcDyvyt3?}z7Wvf3fI{~;Z7sW|JA|9j;u(KDma_c9{sg?brSChs) z33EBoyc>xoDQ2XC&Sm!By1rG=eXRd82FAt2ko0-PR0w{4SsmSYaWu0fDT18;4k2W0 zq|V)?X1fVJeV#lYT`u+PX-fGW@10h{$2-wX?gy**>IgTNCW;Isx>H3PI7T~KLUA`{ zysyd|t}bD$pT1KuspTakJAKvsyg1QEhjejz;P7lCM>UsokR9z1+V<{Sb(MQ!?rZs#oEavY_0&;(O?BWo&rMQ2D>h2|MOcL$X68bJ4%Wwq zGEX)tXC^O)KPpdoWho?2UOJ8HEFadztEBDICp*57>vkV7?n_#UQch*n`Gl-!G!}Gi z?hVV+vZ4~B?oU`N>Cqw+BFD4W7LqET!#D>qLRt93^j`l(?Q?>oKhrFYPpkJm) z0=dnHi@MnwCYSnCw@Sn6>A5f-2swUNqW|=YO>a7kfW;h@+@nZ%e?X$b?O@eZ*D_C| zxM}m#8f&gjO$9!qN(UrPY*sByo^;fjS&KeC4Qa&bW#Tl^FJq0xn*Y8N0wokCo1ER_TLrBlg9=3&NOw3`ku7s8-Qk<=n#bwV zn?m6ll9Ko}-(G83o*(b1<*Ko`oHt&>bUefUY*pjI7sDW&i|>B6Kcsl^LCeRNbg4#g zA%ZKd-Jcjt2cGwIa@F!JC#&rGN-+vKZblb(EIV%FR3>Lz(RAFH+2D-kpKbQu(a%*c zOnFNfOEY`{Ca;JGr1gR}(?Z0Y&qL&V+UZl0G>h|!no3J8MhjTaJ~^%3akxFtvMP+V zvV2$hL)9L%t2ad$)_WjZwO%>nMXd7;db0bC06RhFQ(i>#;RdY6t9j41B?LQ&H;4RM zo?CUV^0TG4Hj_MLFQAe0C!G(w_s{B%rq}vt_kvMG{elP$B`qCKV$`2LeR}WS zSXOvl8~JF>AIp%~Dz?70H4D-Uw~HJC_<}ALMK>!&%NPooNBOi6Ejk_Q0a`Nb>s4-H zJs82St33mV*{UcfC~YmrOIk%vzf)I=$?T_fwAF0YuQiGCOPl7WUW-(H+XJ3=|ILNUNm(&ygOe) zTJJyzFV+eh^1vV^VpSaG!7&cB35qau#(IEV$W9=+vlT6JnvMG!>sfQtTkKh^lH=$$ zOwn`w9<&bgCK1eu6#VWRx$3&Et*=@!lOWw8KDRwv`NXjNIXt_Ln-d7P=7PzcVc3{T z^pLnEP;7_x7o@>QlMc~RwH8y{AxZ5d4iT^@sO_iSv7Lp_g#+CjlGdk*qkbspNn)Bs z`u7!RjY5KVZeH&fK1w2A3!?eF%at_ndlCNu{JOAbQ4P?1?vCc0$H3cr(Gp2F zuQ9zp+v7k!$#w0Zv#!N!e(0=_-Z1_ZC}m9D`EGYmJc&co#ZEi<7mKfjdgN1w#EIoB zOdg&oJJbH+X@m$nNG-%M74xbx-rK368iro&&^GgK$P>--yrNyQ_pt-h*~c=jJqCQn zJ-6u*;PZn2vZ*b;>0tfUnO;O6PqyY4!;KilD zBb3)MBV#Mm?k-MYor1tM}9VD;rDZ#2XpnCo)#viR7J!lO3G$wBxe@{k^Z zCh{UUCko~r%g^fnpq%B;)nOiaP`TFAJmtsG6T_eulVuI6B$@UK2n!-&x^y#CsD&ED zhLF1tMhUDkNXS!W?1I5p0VbX)Ra9&ST~ALPYNca#n_RYG=s(v-+=w=kteY8dF&8NFATB4*~}o>^3u5% zRm~=?^O;$?J;Ci%nA13cS1*Ftl_M|>nTJuPEcMdS0n^e`-tI>js$6xy!EzC*HJ zNS^|23c5vX+!{_;>2+~htu+6lQjc&F344#(rDfA~pgzSNL6tqLi$f?g zrA@rhVw(L|hZ^i=f6Ro{5v0<)^* zk9}+BBbJbIIb%~QLOS}~_*>VjQr;O4t~W01o<){XacpM)fI==1$xFSei^VC|tP}H( zKSI87lg_s5ZkD9FjFFQDfkmT5Z(+xsJWSoEyi<;Gf&n4TNybp4;v!UsD#{oZ%@P{u zgF)DIX`~Q@+8P9QlLc;Op=$1HTx!qjd5mkzjeG6SX8g%a)b%{eEeH(~KijH^YnGaW z$YHZtD%wj)@Y;zUa}2Sp_ng*Z=XvD3X%dLvR77|mdk+#yhxZ!am*X_3RlW!S>^2R9 z1P%oE+Ks2>=0*@-XeZ^oL1&ai?TLpD+8T>qeeK@*e!E5^ij8PQAV0&kxoDB*Yj}uu z00(Re<>JsUTrA_rTw*g}h$oflq6ZsynS z57V4m>)zcGnIvHCF}&TsZ7XTotkHTKvrE6u54KZq)b8hmVSToDDGU(bb&f>*FioEp z;&~VV5O43Bw)wxbHJ0RLGvy?Bd(UisX%#)p1T@VthaPPck9f`z((@!L+0zr`#4T)R z5}EIYD5irBDFX&V*GkPH?mbeSs|}NKtzq~MY{(8#b_(-)Y9ATve#F8LSz*x&>HJDa zj|Lg4RdV&X|KgDv`p@>F5bIz;YE9u0mo@2q^G#?Qhb3WdE!2gC%p2& zpGcxWp^3;&dZE~GZ+UxK<=|&c?P(B&+AxH+8^0&HLb07!hwsXKRego?cNM6k26>R? z^4nCOdN+LC6hn57YFz4ln?A3XEZ{V$9T+Mu>{4(~=g-CFhbST_O_A(shx4em&TxE{ z@mG0dJ&}44dA-h|hL=qMetz)s9})jYQMF}!zRx&@dRG_Bs2Kb>=1U?@AuK$lVW9eZ zhWo31_!GsRDikEG{+|PXok3N!fShp27Kx?*=cM@~0{$nwh?(OIP*HpwFEoGkzX18) z;U8!7A>kl!WBqKnfB8ufh?Y@|6Y`re{M#AaXr|aP!|Uqh5C2maB0)s+xdZuM;r}Tw zr6Fq|XgDBzFkQ~k{O_}VNK3nM<((w6JoEHFVoK~Gw*E!*y({v|m*$CgsDB`|7;4BQVBc!R&!lR0yO=he9^_~Qf zkjH*ewr0Jgd;N_?L9sz|&^W-IOS?-~=uk995@@i}8r9!wKbDR>SaxHZ>|0^ekE$D? z$-lYRiRJ*k0E$TmP%&%(j!A>#{6ipXNW$ujx(QrZ-6%?moz~QrecOs%_m--yga-ZE zL{`W=w(rL;4M<={rby?d)v{|<*}k`$tm0TN6HH-2X>>cRFB|hh0pCl5sR$qF?wY5KvdU&VZQuefJzhnU2=9*O^tNqM)f@ zxQ)J4IDr$%;f%L83@Bmi@BA@JiVfTE7;#&C?aB0Q2G!rHAb0ytseWC1ZL~0TKyYBs zkx=@Q;*{HZa_oTEGye7Kim6(k;?ZM^gMVnqF{(#3!u)y_b<&@#SnCn#Tbe8WS40>s?p+hvNdELNj6E&9{1+C3uz5=pz=-Gv5DLQ zlJ5q!+esNoBkty)92-a)VH^X5-CQ+S&FOtR7&A`O4lG&~jw$v@7SpxWP8$;=u9%;C zE{{xr5aK+lZqa=VfUvWpJZx>Y=HH`Pb%12 zF_E*?bv_mqR@iX)Dff!2UudC#GJ=o;*Eg;j3;TNTO``c)5}VqcHYJ<(q9U`jYgh_9 zIqN_!407vD;Gk}<|EJ$-A#) z#%sr&*E;oZyKH|(g`v?W%?iQ%-sgq{19<3=V%b9;LeU;f7#>E!$YVM{ag7XFTvDQ? z2sFY(s85e*$UvaWTo^vnWRmN_>PRU%TkU|3obLTxATUziE?H$Un&XiDzV`h~I?LnB z&^}K%w?DQ!6(MBX2QF2Ck zQ+8=swz?9H6Fuk2HPO{hkH~2*jyO5Te|QiSsJJnx`WTxes*m8K#$M1DNaI@ZtU5{Y zq?EY<^}5~{2i6#3tD-MuR^(A-KYsj%Zm^kW=_ zQL@0uH}y}BX7TZOyE6+X-{=o*jEKtxyht8o8_=w9S)dnV12jDro>Xs=mt zJ1Lpb7|>~Emr4y;Z-|@hU@f*jqs&UOe>iEJ>N4&6TGZQXZLBz5a7*~uFEmjP^DUoU zntS`(m>4aBQvFMzh?5JyZ`c?lWuv<8y`jbd%vT4add}^nE|QA$@R7X4(UQ9j*Ogo! zlSiDKpL>K@e9g0KFImlBW<8xD4-nmLS-?gtT)h&1XVRZSDo-#avX)nx2K#(#N!apB zn$)(E<5>?^e}whF&1izscbI%Te!&Wg8njv8HWC+zDKwKKi^O3R`%X`-H*|Z4NHT<# zX&lG7E6Mk>s+qqN)#5894WSLl1?@WbSFEfAxtKt92)D6_7_vkQci-IO4sn`ce|`v> zurveu8^Yb~zO|{EO5B_LTYIuEy~p^M*fa8%lN_QJ#29RVXOleU+QZRaB|t57xH{4u z_z-n1&h%}oa#3OZX;&c16_8NAesZ#?*{FbN^RZ9+ZDX9}1>Xu!Zn<;P;wJqfs7%)< zvQGN!AGn1-UaaLrT)~IG(p`n?N4M1>W32$bx}=6^Y;Z&JZVR_0Yd|GXA7Q|CSgzfJ zw9`r+15?5t{rRz4yO;DytJr+t)%@4KoCW~<4`i};fP1yRl9lT0X9yZAS$LkO*Wl&cimzT3_+UP>eGhX7v-t5pU~-HDa}I5DizBq?tO6K4_0C%$H=Q}^$(yuhKTeO`8n#l6`UVU!m_M9c@5_^R zol=A5>uVF`xq@E6$r%TW?UdbwoE8wkP%A~D+xnFareCPsfkV0hhcKH{HLy_nl<%w6 z&pUBkJQ{rvSud)WQ!K&>*_>ggKau+%^b9KoA=~cf=OP(2inh7r;H+t&#%?zG03+9( z+L4el7l7p;*(!hs1rhV*;#mvo;lN%PFbp2&bqyxfoR^Oh*gxxfoqYRV4UoN71xlL2QnNg=Y+V8IHDBp02&ygai}?*j^y(JLl(XFn>x=XsCg0j_O>RVJ~|&rdy;p+m9FQ(i1Tu?i-4kN?FH6J0u1BJMhA6t88GJg zISPR-UGTW~4Y$J?TsIZHIv+wa1h$vG-`ssv(&s=cv<+(W2GCGJ_I$HuOS^+(+P>#4 z&{y5Giu8T=Ad8_?^qpigA7Mu%G;6Mx{W)niZ7%r1VQWXiT9K>tK3c8ln-?J3)OLpkG^=1Pd$!?7b8ZAV8PE zmNBWw=i1<$pj|dvLza(id8{3awv(`55Zq-%T@P?Xt)1;=Oqa8O+j~vT*n3Xz^MO@; zuch`mvRI4g&3>5{x&Nbr&`<#_0Gl-V=a3(}i?l|y_x;gZk><;UldO&MQQfb*`^pvF zTM=A+whk+E9PL8h0bOL!SzjLWVTQ_Hlpgmm2V11yt+(azVt#j)WjNv~G!@G;~NREM(%(q7-WRz?V z1JIw1O`(%RKtDo#QEuQB9nE;pK$rOrK?rINeRyQG*b%EBNwZG0w?~3=7*1~hh%gC# z-&|k_CHrRHfm>yCZ=#@$N$Hn^pA-Athx&yfgzlMP`0KN7PU}Ud!5OAZBh2uL3`kqr z5cXUIrki|Q7)a&X@EP5i))!M`)h2f|uiVYa0)`zt60L>ju&e`Ms5M4Ct^(iZz>XJK z23V9>(PEOkOAwl2f}Ln37&M4bA7mpWX@nFJT0rj{t_-!qb2pa9k0vY%tJ$Y3tY8yy ziXvtkuu2znYl>Mwj98u$?i!@j;m|(hGk76T{0_A(jcl>oBfuot=`}8vW`=+DCB))G z{i1sx|MKl`9Bgwem6P)=p8+8fz!V9%k1Vl-Ap|lBl1<2ws5fYO_=s|!mgmT|g|$PK z=1ISA?1onoN?h>Q{SsXo=V|4v1{d%0oCc>_owsy48`V_!QT-%5;>Zxhz8U^!cZcb? zrG6}H6lh2Q(>R7J(!@Fj$3>(b=k~tg>c>ho9~Ec>+zyYItx13FYraL^YdHoM80et} zt;dy)D}zA{e0KAa#DM<_whMU#bmJ_+-rc_@2-0`bPdKB=(umMQC^8HhE>Cm!NS=SW zCA6N9y9N4{TW!Rs{(g&0i?GnXhAc8i0dP#L>qVEg_kvKVozhvE@A!QW=A~jH;04Pf zqiW7#%l(P_vK-`v0cgB{>E??^$WS{O(dspYVT&Z5MLQn{%4m$oW10jgt~Rkbz4Vu% z&LxN=>lY*7{G6~C-72PmmMHZk0X25}S%4$~VeGFwGBHkMkfQNyBv-ZgQ#odt9WGsU zKbsJe(a$*IPi>4K;z}DL2pn++^LDWZHfE!h0h;5FsF9@LM(Y9AIg4>Ilh)DU8Tt6! ztyS24C-aT2XD=&%ul!;>ILB72_s)#YB`rn|Yb|?JHGe*Ooe@bs9?wxbL>vcp!OgZ>av<0^4?dvJM2-U9MYVG)&j;Wse+6^*So4D| z#Z-~0`iny?i zsu*r~&Q@vHD<-Y}6yfA!2jD`DsjBO|DwlV*TfOgpeVlt#JMP;Puk#(5n$y+XeDy-z zLonIN=uyi=_1NovMu)FiaJ_1ytF@MZP1h2ncwi6^ySRgO()nzo5(Y;l@C=d3dz~aL z?zUh-t^hzM{(Rbft9-i7o!-H$B1^O0qgr^U1((NZb=b0BFw3MW-B38IQtse?{pMTy zurVJgNu9XR`RAOmcoT`sxTh$bt$qy5_lOeAXFw~<^S-)NU_aaI7v)m12c)$EB;MR? z=dqc#gvit`2;VLPtLt@_DV~)gIOM9E?7O-=cDTHK2C>wtuq-wk`Y=wY=P}o{v+TM| zlBQ~W2q?6m-A&&Jb$BipZN0o?8GCW0^IYr_tTPaFMJXJ{9kVa<9W?5$$UY<3&%SP z=~n1V3zcxHrDR>~^zDw`Yr;Dh_5J;$h2nuXKm~;0)6~V?qbP5_ow)@&UTw7a#^11Mg8;rQ;(={sKu(c4}#oXmD7T55(U-i#(9B z+m;K=$HOU?nQ9L@g(Oq38rsgaWFEuo)q;>v7$KWANcnuWuWh>kJUWMiceTLF9taJ+ z6hfNOG)XqHh087F)>9J)Fo4r-;HX7T`V!FPcevNkk~5i)u^vWfgiZk>52p)NR+k=^ zC(BVE3EBDEcrF6s7aaP9mz(_f$?mn?oa+SR\BkB^#>Cun434^F;yQg7X6Z@fXs zx{hp;dSsTBY)q)*7z_N`mJtJxm$W$yR68B=AsHZ$mc{FNjq5$@-1P*oZYsgBmg40+ z{^}3;39hI`ad=+0Xv!*NV0G=N&n8~;|ZTkuW4E^qXI!k&01NVYMH2HmTh(vXpRE_vY)JFVs{eK@h0`dElGT1|pwc#k_p4#y5YPt2`Y0N?R`M&SOM=PV z7&gNlGJY@g2*??iW+XpX#`VWYA(TB=gvLFu0DyVYJcL$wPx2)k=b_ zCOC&qiBAUg!Df8~Wo;rMa}NmR0ct;KbaHO=w#CHGm|^rdA}YyjQ;8=Zn^oF0@M&yE z2|(&-F&SXMxNBqW`f({K*1&|S!?iYu5DQjc+Ma9HdGq{gHZd40gnm{RAlWG+66*7K z=h;^23+zjrkr9(7jc2j3X;R?=v5C&Jk7dc{%v?e8=4r-eGKVZ*@fQ8WXt{+t{UmKS z;Z6ek7KpJ=MaGA7k&t+XE6L^C{-A-g_d)_WkT~Dh?W=MIRo*?iiC#zoEU~@?o@ot5 zI<`!JAI2__bJX%zKRlcj{)&?v{wVjS=;J#~-*^=7=tXHP@taM#`yo)~LSIl$BG(P> zw28|XXoZ)dWHf@n!r$d?dYN)4e2pEHA|4&+GoKCC4DxM7ZRL6 z*yndrT;xaC<<~xbnA%(xPk7KChixN*obtS9`To<1o@K#}!?`YI$@yEKZ_a%Ly!%&{6>w8h_Ryr1<1UP4S=|@ zrmex7^1gGJo39UIVNAaBy44iY{(;LPLydWgT!Nv$b(s8~`W*))- z6)}M5bl%>Z;x-*<4Ap{YU*apC%h5HA-3wq{2n`;n;tDctH4*OdAaynQ9Q6*HDk7dZ zEuEKKx{Jha@xF#FJ0_dg$^K>XfVsF9ntN-_3;u)J&-|Kgmv5k30VufAa-KU)5{@mU zT)9qC%(S)fC k=z}eH=ESs$} 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

htzzP}v$lT9gUO2Gr_qfm3Mz z2E7%1u$Ik)iV>_tgPzG%>1oeF8>EejxFplRv;@%!RHkA6sS16(d`BHKut^$m_As=F zgi1@G(3&Bl>a|4h&Ll&kmWujaE2|)jDH<{MAPZ31p9|~(i~8u?|PC0sDZS6 zs*MfTi%Qwc-+3P@Se)-Rn_foaD@mAVz&khTjptzI!qeLk}bayyNQ^)suM}=z&0XdyeUsZLLK#pY}gy)sN=wxR+5E$L@Ia zd?KJ|2sR%$ z{uH^Y8&P;h+Dksier~&Nu>GiA0m%X2W)$y|7Hs6Rd)I06o5D@CgF9)zH3XPA(X#7~ zsKX*|v(F!{sPnL0?#VcovheP~e_F~K{X`ukkBu%Rb$+2gGN3^{!FD=r)IyB%$|IG& zC7n>mv0t=g3=q}#uTcDG-5}qZhR+JMD*Dj11u>DV%FBTU)j{C2CUn%jRxW*rxHypX zTR_Y?klFumqgvE0Hq~jMy+|`r6YU9m;2PpyuvrQw zg0>uVDLg_Utkl;By0+7^1T(e_!-|e9Y1cWk!oUvO>y&7~&vMYHI(sD?XWu>k#dAZ* z6`FSwgblaJfX#2T2()`!lsgc}V)Gmx2a$-ZICaamK@#bP;MVP13pD8Fe}skR6D`t8NIc-5P2F~qkCaZFUO?40>^ z$0JrCQJ1%F@HG8#`tM)nW{~0P&-RR4{`Y_A@p{piF|KorR`U6=BD!M#?!^DTGS^}> z;lC~|{Ch4fldOslgXs>DE3D{Th%W^|`+5(t6btR!1zqmLUnpt0IEP!;8N~^oRA|<@G7+^xkOT+y8vstZsW^i8vOouM0sa)-VF!hFgdBo1 zkg1}_q@y$B4%W!^SKAw<=I7`Kh?f;vmdseD;vGp{y;;=?VEB)R9^E%nE2>Bvckxvxbco- zJm&+Ypulb<(CHr{*I4#4n@+pcPV&H-lb2>f=I8>YLm&SRfOvLrwi?;DA$j**&N?L>vWg1Gm$flgumAbA8x`cF5dCpa>9{Y7QjOUrW4#=k z_L|~8&2L(c3G_?o9X+AZy7IiMV)LoYjAYIAh4jrdFbdZnlMmyROJEd>$kP)#AkIcP zmK+$&6m^Y3Iy=TcTW91W5pP#8w&U57(}^5ewgV22`PYjZ7w6YJQf!6ed1Aft;XKE1 zL}g!Z)`>#{NS_v*ikV;Ff$UpCT!6kiSEi74bd3q~H~6vRm#QPzdsM17u=MubJ*|0zYTA%HaMQ!{yLqkusS}iBt_iv zURXV*?%C_EhZTMs9tU_#`6yRqw0i>*cH;Ulk<{TlDFjJ-%?}WEp{9 zwc5mL{uI6V(#(0YGnY)lhgNDt@_OF7G5aO1Wco(1J={k_Yk8;vQnYIJRNs-C3$QA5 z>dUGw-~V}~IwFdSJnn3sZ_oTC6Tq((Q6c}x11i}t4QVk}P6AT-TeB+&Em_7BwvyU8 zrg*pgkCw#{j7+Lba@4|q%8g4ug=ZTPu-|)}DvFMr&7<>0f*C;FPvfEN{)mP16k%uU zuDt*9P(eit{~lv|_3-SRb;{AEHeQS3>`LN6%QZ4?n!nQd1uH(yob}HlFS~U2Y5is) zzYertuu25SgoIqkV2XL{5Mhtb`>h^Mg`AhJ>l}A+aaS8cIesR_mEjn{C866(b0k9F z!2aJp0nI8t{U$DM??&qh#t3VqfZ4Dv!xEE*B SI12;(IjMH`XqKv}@Bae$edx~s literal 0 HcmV?d00001 diff --git a/content/GCP/img/compute-iam-service-account.png b/content/GCP/img/compute-iam-service-account.png new file mode 100644 index 0000000000000000000000000000000000000000..6e08ea2f0a947eb7f4ea52569f23f19ad88778c2 GIT binary patch literal 29904 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 literal 0 HcmV?d00001 diff --git a/content/GCP/img/example-object-preview.png b/content/GCP/img/example-object-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..efcc6e3311890b93c66d9be7fd9a45bfe2196569 GIT binary patch literal 340732 zcmbTe1yqz<+Xg(0jKZLTQlgZiNF&`ah=?c+(xotTcQb<`0uoAhNq5801}NQ~qI634 zzvsN~ImdHezkmJfcP(JxnZ2K9cHH-MU)QzuSCEss1iuc4Kp>Z-A3aclKw#h{bPex3 z__2AZCJ+LFkC{qHC`e04&??wj8<|=lA&^J@5m6UZ!ZgTQruNeLG@-rtb@;vbw0B;T z1<+DGxN{r*@~XsrL^1OVx_hZvuk|T<#IL}lq!1RbVFWKww{~$TaKjyo^d*pD`uJR> z#?D=n@lkti9iDrWd!0vir#Psq?N|ycTpH0%UqrcdYeRv3&{z@5q8wM%4^exlaUO80w`@NTz z4}??jW*qU{ZD5qtA0Fx4109as4xzPp^(hc1xtqx7_6ehLtKQGMU$^Y}8SN4$hr(w( zUn_u|%$b^cMJ%WCCt3f5uaAex%^PT0fCXwLB`;#iiBm{;yid^jx zCEtvrTQ>3E70T)n34i>0U#vn{o=nK@)q&E~Yl=t~f~cX#kwwv5?Qh!$Bhn?moZE-0D8N>FHr?kotY|8;i9otF2qKaAMLL``(jMy6@(tp=|;+yfR*|vf~?z zD9(#ElH<~`3*wz~YNVjxeH{|gI z-w=+*;hLf4zp8sNvoXeoE&hTvx^4RL{xxkvJs<0)2^;p~tJD%WB>3sCdZjc{t}&1? zk&uQwekiSAt^mtYQn`~uHt^C+azcD3^`Syiw>meetdv&DL^sX?12=hszwQgR`%!5j z$;&-z-Ok;f3yRx(7h!2Z#h@O#D^|qk@n#<&QyF^_u1U+> zDYzSX#oS-bKg8c!`u01VufAoWw{PduMZA>@EeJb&l=OwkkbpBV9ufJrGL$eZ?knLJ zYetd){Lg_`<-ev{q^KyfDJLq4GAWSekq*O!eaqpb@Ey1gypRMxpgBP1^PPa|fb@V& z5^LsQhAZJR;p&em(|I0~J~j?_3vUk3ZmnodX{BhDY?X?zW+2R-R*_Nhco= zTkf{9qKX7lU~9V7d+Jo(^vm5v+{)MEA|Erqr^+nvd-(LJ3YALQ)2Lk4tVFfdrxMvQ zS;Ygr0|5haITOl9!cxYU?Js+G&Iy#;W9B>*hLrY{=5xujhO(V=y$6%c_s!m$TJ)K8 zyQKOLmUU}q#iUisZ{^IrCX;QG4a|L-?5MPy!kcHALRCBAw;LT?5Zn-~Zd}=k zOt_-Mqr*O-GC_qQcktWEa-(*;Uq|IezN6dybWz4lul`BjOOoJ8;xB_A_H8M2PM|AA-1U?FPcoe$&!7OG>ZWd(~RaxR|32MMu_cWb4 zKes!^Fvn^MRJH_Id@gIP$SGbbRV}?-F{wYHe`1!{Q@igvHdo$xWHf6MW@Z0n?rna6 zW%BCzG5Rq+Co(7P8hB03E{VI?QTcArZXp#5)&Aup$~7S+DhWzHfeL;vM?0r?`~!lQ zgl-7j6K8puk0rK_ zCN7N&tX&v)7g?b8rxtVDc3X0{6J{1ka;0$Ftj(!CA2ZjkGRHB;Y<^xgGhb`v_+EArS}#B^Xez5A?dJy85+uN4cQK63HBgClHCb3^H+T%_qrhXlxUV%`D)({A$BLnm3;mV z{%6_-!fc{~^-NwCZ`V^30?%KiB>qXf#>%Tx>#-ShC-zBiRJ>kJRe0&P$}M^h`c0E> zo;dCC@yo#cB)7^Agz$_QNP zocEy)#bq3Uukg}&V`5f>H1sN@oFsQ!;uqqT+ajU@BP;WZ)Qep|>lf&)$usvbS2Js= zE*5Gw@{_U*82r@^XdM4@D6qB%N9)>Y7T`R8H7 z)>#3)-c7xCQ>9-m`%c$;rU)9Wrz{#=_vWl&wLWpayuRtadI43EeBMPTDJy>dtY5W8 z0}}%FEI(V3TGmx|*pI!v`s3aByVKR1W6RFn&Lk@?mG+CBH_|VsA30xf{_3<735()c z;~lMY+>5dkcXjr4mYkqo6^YyP7;YOIEAKMbTlGpf@jVhdV>sSC#W_2-6G0!5exdk6 zDWRwsiD%Z%-DdfLr?F3cpXw0?Uf!d|7qd$rt;QT??e=`TUiDCw%Y$V`y~Q?ZHmF>+ z{K8WI5?mfdTtdw5C3k!<`87F=HS=1gnK#ENvdeU7(Z?;zOY+3zMRH0dM?vwH%ydj7 zePu?Uaef!IXr_0;x7wwHZv>wRT*>L#=5#5|$@oIFA6NHJm6ZMH`7zw)T*y+}>&3IM zv}5iy#8%0v#jfkz;I;N@If#pog71cvz(kInF3QY)`p6E@hp3~`e2?rwWFA8iuCXm~`a z4?gYp9}3KEO}liGk4Kdh&gsR~!#v%E-*Rx=oO{HttOW7B$S**F;`6)WN$F>D;eiAZ zx$N>Xes)JksCbyA`VMTm)KFA)>#<%Sy3K)a87D4dpRJ2&6cSaFKDXA&<$f{ zb7y_jXQD5@UZ!lEn)imjsJ+1_k$M9K(5@;{UD`-i7QzHx<3VuzOd+`76%P2i4!$6e zbMIb3E`Xm`!PkRi=$}_%kmPfJzJ{)0-zcsuAuSDlDjV1#kyiF5)($I5pS(d=L#8U~ z4(hTpf(F)>Y|jj>pCj2^EN!q&Ai^$!;H4$f;Tf%qrG=Hfpo_?@Ki(k-USt2vev9^x zw>X%K+)|fSpp~$;L(=lH-DA6VOB7B^ODk+=Xe6lg;NgFpgWp7MnK(Gu2(q&~J3F&E zbFo?58MAW;2nev><7DULWCibFwRg30c;>=tWl#5?PX6rY0n*;U&eX=i)Y^&`+wZgI z){YJ$w{Br?^w+=tJSWn{^zS=a+5h)rfe*-zy~57Hc8~q9zClxA>|X^HOkI!`8V^h@ z!SH~4i1P8=6aM4<|8wQoc#Z2`pcz%H+^c4w3D#51ow0h{d;Qud*5F# z{LJ;iNa~74HO{|1Vs9QxQYwT$^?FGMBi!4re0>B z@Vj2rc_oHhq}e2#eAAO})bNm1_ur=8rii zX7@~>rmjmNbEU4!xK4L|r7r22$g=DD{7AX?eC1&4j+z+<9E$gyAARRZr24_nANJ#} z_8;(QQ4r`a-);vq4i_8b8-9Jam?+l~%frfe=gyspAa(zLyz8$P*QsL7UzrOUl020Ga#S@L=c&2z9?mhe~$+kqc0=S0)l&`kolEB zRH@W&-tb5pX9&ixR-o~ zTU#7Vn;pp4;&XU&H_4;-aRd|cM{9(=V+f7dB#dGp@@TE5%Q6#{uIqicn7Ou-;5@mA zVYMDDV^krO|MymTeF1&j2q)OD(x3MhQ4;j}mi!MN0=7r?(D@|qdiVTxL=Zl|QTsLJ zhm(04rP@x@` zghpu6ZJBksH$9NYq`UEOZ++dzBSiEtYdKguUy~zC4nFf*4C^O(?#7TZDt)4oUybK74(72M=T|4~`uEa*?TUW? z{x%fFamLnz!2PB^9j+{Ao3CcWuHL_+Cb=B3nn_599M7&<&CX0T%S`gZbR>$5S@xA0 z%MW?(&Ba+e6*e5L3GHR+`GSg6Bt%u-4`BYrV?KLF^j)$J&2=7iZ@+-MM>-lN_S~hj z^m6eg)%NpF==u_58|Gp?-;_sRhI|rr>vo@A1eo$kUhByfuW-ezwZ^xP%iKOx4miR2 zI}?QXWb2}I-LjX-;>EnZmV46tp5~~0)hsvrfjKXBv{Gty@q>Mr2w$zBF5SN(6VVnF z7h-VA`p3i}dQv6x4O)W1O@z&R-}~1cF6FM-&V2B-x=$zzPqq7aiLXkUKio5Ot$}H@ zUcbp_u*TW?2ER?R>58c1$kTfqn*J*C`xQBQEs8eQ-@m*qpmJR5x8=gm71>!DD6Mnf zi#1|bO;!l0abB-@7<9dQ6Z&y^mgnD*te9mQtoR@2dwFq*UVGzobm!7e7dD)l?Ty=q zxUckQhuvuCN=h)o>x|TmD*_rSl-B<3p_LAw%+5ENre?@d6W9X896tm-8 zM??6J`{EFE{GB4huUEIiY$>z3^cuYCA{Z2JwfXhEr}QNtcM|`=vQCM-fW*lW0crM4 z2`un`)}bZ3*r3H|ziv0Lw6ny}$GiCCVXq+WRq1JcA8*04v=C9jF^cUGsSWlqjclTS ztQ!P~nU78aoA`X`Z~kin|M)eO3Tkx`v2!lt*L3rDvLchtjXiB!w@OSUteZ=SY{LN+1S{YI29j5f;c_NkZ zzlQkF&+>3PB=Da*<-Z#TjZ4~%+vtEJ*UcBz_wQ8nM+*d02KwRuPrgOaN^_wV{=Gy0 zb6;8x*gN8_GVEx5!H1?j3@YIT96)N{bpGsc!g;FP^Jq8yO0T)+#$rpMR=HUO$gj*DPN%+ut0Sc? z4d1Vzqpx=JoGs-RjxuJ(e;ZAIgNR5Fa>lF(?cLfLnyhp0tKDtesd8LatrV?l7n`cG zP0NBwa}Lw!-)y z5am7TqsNaqIU#+q8*m)lZ;z5e^hg<8I>+j~Hm>^q(Ur+Ldx` z<%vEB7JLSMr}+eD&7lGvR`1i}-7j<@RkZsnBc(cA%Y*smcOHiqaTqjL(Z*wDMfay) zfb1yhOjvvTv#r8mQHfb088uL#Gd5agYEW(WgA-Pt&OZlpl?P%@2HRde!#%xHBUxv5HjR=`6KaCH>W{3P8_cE*LPQ4V zx{|DgoK}iJQXN^VSr-+Wi#Fi2@DrmB`4!}b79*6JTi{SayqZAhy9d}ju#xix}Wr%@qB`p<;lKcKE5OM?4cXS!-OxO7O@ zy~7H#NPo0DX1xlAx6C-vwHa1VdMzFRA0c1y7w4<3K4O|lr%yq)TLD?dX<77STRG~^ z5eSU9c&_ zsUwb$y-as+5QMZP=o`2w6GP!UU7`CzTe!bQHBJ&69aIdAU*aw=fMWb4{3qLet7Uz1 z_GmHKAqgZ;H9uBsPJVu?ORN&0z_Hm7u{Df%Fu+jTX>5M2Wc|CMp$q3;d+AYMc`b=< zW2 z(qZ%kB4S{4Ov*>IDi+mqqd=a4gr*0S~=;~=6LoLr7&Sl`bqho%>>5L6tjJJvXiy8m8(`LXK&3gUFo!{IYgz7 z;{YSJ>Y<84 z(72x@|5zC}8?T{a5YLGL0FXxqkTS>8Qz|@E%-1ZJ38TPmyA!4T-1Bg|7+|$g**7*# zF!Cz4fLQJK&g+wGk5X9}W%ch_jaN+<2usmg!NP4bQ57Y-+;i#l_=*a0d;X7uuJf!c z7dAKgR;388NzwNgNxk~8)ZMfTGM^cWJQ?;(8 zLXq_3Jsh0a*-rD+2>Cm`LZGIwFA$mKCXg;(8=&>o?t5QvJyhP)5sOUHD`f5U88x&|SH;SBdO z*D9J)mvs#;nEj;GIRo*~F^LpR7Thu;x!T9I-n`bwFV<6iV)ez|J5giqwxTt0S?*N9 z7qeGiF}>Ni&9(Zv=tkhLsZtRNl0o^qJ5Ms)J3-V%WeejIn69QL=#e*iVl?`81T%d3@1a4*vxQPlp3rB$usH=R#x-cGf>O~;iXU}} z6t(N^4rx>E#yrDY=_4`Zc(Ol7%W-?HM?Y)Ui@o< z_!BkZ8R{ZFo?U^o*OF`9`sk0;goEvf{~3kZt- z--wjk>5-p=xjMn}`DOb4f+`EpcAnoo77CFHui}6V5Jvm_x{3aNMt{c8_YAcESgwEf ze^r^*AD~eWga3p3xg9EV{tp7@Q%&P&xw+-`LQjS3mXXkWy#07cr|IGLA}Ag2EsvJx zg3|H!q%MDo1aeNEcD0?;?ufD0e!~H_ZlT~Z zs&c1KlWqc_>~Q766XHEJeDZ z;LX{VxHCG#L}AxFurgI^T{gRSg~flFb@U4HBROg5;y0&#NuGXb^k7hF-C?7Z*47}} z;lr+yD46tR1YwIZUbB9N<%ycglV!cL58vcbuwJmEzV@$G0A>y?LEL?|sBGXZ?WaoMjx9mG!y3E9&Q_ovt%q85Zsqyv z#UI#eH|{G>OK8Z3h@Dok>eY|K9&Wb;0~|}WL2Q932_wl$rX^yBuGek_Kh08Tk`wq5 z&OPE8NY2g+yCCGSppS*r*vjtv*DzTMZzhB0H^o#!PQx&A?a-O*;2V6M4}&R9K?tp3 zG*PRxnsC@V0IY@uAZAP}V(vZjAvjIfh(5gEB#K<9|JlmSw!a4mj}d@`Kl1&vM5Rmx zyru-Mp))Sg{t+%oQJ)@Xzoo*&Re)1hp*|vR+xL)Mj72u%wk_3Gp&-qNx9KXKSKcrN zSTv&`C`!jE2Gorof(4fth9nhrm>BUsVNfM=SbWB;QDPXI!Ss<`uim3TD_?bgt)Z1f zr5eyhtLO{VMP>sz)kBLXN*jevtD{bUI;vr-U9^k?1wXS^MINKcLf~2tsFO$K1Q%~N zFnmi}t6LqbtVw!(qv#*Sl)Ic^n@pojbn!{0gUW?FItyew1`QNoz=uUA0 z%#PpgJU+CTfk-qX$=U!=2|5*1uP)utw$UCr)y%NM7$-PJPO*G!u^g+YUaP*Yw{^7M z;5^1WR-~LM#}-Phi!Rx7(95pb02J18gp{OCP|~zsJd7vqAB5COmaoD5$@Of#Pr#=(?fjIs8zE*%je6uvF8-7S&9Rvp_Y zF@(W<&W&?d4WJ2;53?s>Qu*S@sCqt`a7{AjNsBNbQC7hYwKFhV(p8z(+0%1T96Gu{ z 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 z z%))Jx8!0@PtXo1UFMYqXVW|`b5V=d&b5S;@XY1J85$whM8Wr$7x%8b4;WjiCS`HW5 zZ88McfShT&%6D_-yITn%10Hn#%r17P71n~#b5A-G{P8@3@_f8Ju5`Z34UTQIWbJ09 zG)LK3md$$PN}rQl=P5*Xv4rh5?EfU~ov4uBo=#2Cn+f5ALWK6g?K!Gxhau0TnVMbb z`3vHJ8pRZjD^kNqR|^1=V>yc0XA4%OehF z-gX{xf3xhdJfsSNnJyeBsg~!Guk5-_RG;fz4R|=5X9ZBZWDwBIa24uDG;&|AFW_ub z5O?tIhs8kexnmahUryoLzm3Pj-(D?Q;M{%G2rE>P_!7yVFDtcOF~*udYhx8Vk`lK8 zLCBUBQ@CwT8>TfJ|Fjr+JseBZO`Dp#()$&tM^ ztY@FXkV}B^W{C5`Be;v0xCviG-g%1Cgrx~rrDD{*X-Qhu@TIe!?MH(I#R)>Awf+M( z^M;|aal5G@$EZzvrV|IdEzj|0hvr0ryq(J>o`6>2-2wcQaO%4S1<59h`kH5<8E^e2 ze%jx(u6Q_}A^iQEYuhk5$Tgb4(f8m6YU+oSX_W&6;~V)(oFmVlG_qXu6@!U!tR+Xj zZFhE4yYN1dY^IAB_NsmsTKL!tC#CVcdPl=85{_QD>4DLPcc7M=oWLaLk@TX^&LM%% zB)e9Jw`XNH;oGze#A?iL6-K$&>0d9I31f&($sbzEnCKCT0(X(W!e2Hjd$&`#=uy_ITpB4ajgN<*qYh!5NW<#|6-8w^X$>r_$Bvw-giK<)F`Be+9- zw)8!?Eo3oJ|2+wYT4lUbj6G-8|o0IMOT{ zF7)pqGXpNd2OkGaeoSr(UxXPFrQEugYD?uVFym;UH-JUf=OS)@58m|VJcZT7jkUH+ zq(%1rAxFB%lFd5BSX-<9I^SLjTL59I$0*!zU1Flkh4`jH`a}lV*|!GVIcbwXqK?V0 zI$KlSC9uin^|#x4Mh686n;k)g0w4509hq-5sc^C0q^z)iGBfCcY0%i{_>D5Oylekq zkxFr>tRouKVjX_6EXfH=y1_ck-awYlZa0X!(z$ z-HFO=A^I9V*rN59rLAd>HZld1tvoj_kkXVP=Qi8S_EaJj|;2khsKae7aMs}MC~Fs?h>$|J$8r>So- z1QrAil0Bk#Q?cOPN7(E)GA!zjFgnTN9Q?S>j7NvZ623m7bcZ99IXqB;G+$E>nn@xCR<+~W+<)K!j>OgIFQE%VU$Yj zFhwPJp}s!#nKnrNM`4eZhwFP>s7Kyj_d_QA1G_yN5kYj^x#n41ypk==dLmsvqfbqGDM-dZ?6^Rcb45Ku@7C5g~sv zHwp0&7@Y7#Ekp)1-X)hjX48MQ{6@o0lhOrb{bgvR6RM zO;gr_zv#v=G=%Om)GUMkToir$8Cv^HMEO2OF%&HVz&@wn6ws?P)$wW=)dq?0>~mZI z_O4l>$B!h)yFFf!2gA#G$smSt^|~UWEN-Bq&J!b&3gey*?m37gwZMo0EXN_Gm)lNt9I;I2K_*M5AM*o| zH|A`cVf!Q{(v#PKE-sls(|0z5zw!0`_+tt`K3i+~wlCr)l^=^3O&ZKPU~b3w=kvOi z>}t7|c}41T>9qbbSZ(2MrxhRG0$tM`V4y%5YJwIKZ^+rwP(G-)HJlZFo~`e9GVVx2 zVHg3y+JTal^4y$Vhmf?L<2er< zLpkH}J*IlY#sd#<%H6cnFak^_AJX4^@g$gx@_EAM-6ym~YL6Sev39giJsHtZXcWqv zJ*5k1X`neR@%ckTI%Sh?39$Vga*+UIURH!wFHIqIt_uSTYx(7)kdl3J`d^oYibpV! zN6EY?&<0O_e)*Du7}cwAs%F;5^!X9EPCk|m=XA*;nZf=#47SW?$x?49(AyMB1$&rA z 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

^*-E*?!*8M|24sd3etVJXh1HCA}*) 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�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

{Xc(cXfv>*pJ#c$t@2#-0 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

*w@|W!$%$6IeaX0yTQL2|hLdcpb5~#v)|(Tf8!I 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 Date: Mon, 7 Feb 2022 16:29:19 +0000 Subject: [PATCH 18/19] GCP: Add spell to spelcheck commits --- scripts/gcp-create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gcp-create.sh b/scripts/gcp-create.sh index 8a0fd2d..efbc780 100755 --- a/scripts/gcp-create.sh +++ b/scripts/gcp-create.sh @@ -41,7 +41,7 @@ done echo "+++ configuring VM" gcloud compute ssh --zone=$ZONE $NAME@$VM --ssh-flag='-A' < .ssh/known_hosts git config --global color.ui auto git config --global push.default simple From 32bbe68e6046c2abffdaa56fd24ea3318c887c17 Mon Sep 17 00:00:00 2001 From: jhicks Date: Tue, 8 Feb 2022 13:04:28 -0500 Subject: [PATCH 19/19] Azure dev --- content/Azure/01_intro_to_cloud_console.ipynb | 143 ++++++++++++------ content/Azure/02_intro_to_compute.ipynb | 31 ++-- .../Azure/05_intro_to_cloud_storage_cli.ipynb | 39 +++-- content/Azure/glossary.ipynb | 40 +++-- content/Azure/images/Azure-cloud-shell.png | Bin 0 -> 57040 bytes content/Azure/images/Azure-services-menu.png | Bin 0 -> 42603 bytes content/Azure/images/hamburger-navigation.png | Bin 0 -> 45418 bytes 7 files changed, 158 insertions(+), 95 deletions(-) create mode 100644 content/Azure/images/Azure-cloud-shell.png create mode 100644 content/Azure/images/Azure-services-menu.png create mode 100644 content/Azure/images/hamburger-navigation.png diff --git a/content/Azure/01_intro_to_cloud_console.ipynb b/content/Azure/01_intro_to_cloud_console.ipynb index ccdbac9..7619591 100644 --- a/content/Azure/01_intro_to_cloud_console.ipynb +++ b/content/Azure/01_intro_to_cloud_console.ipynb @@ -28,19 +28,18 @@ }, { "cell_type": "markdown", - "id": "926df543", + "id": "7ba16e4b", "metadata": {}, "source": [ "## The Who, What, and Where of the Cloud\n", "\n", "Before we get started we must first define, and find, a few key pieces of information about your environment that will be used throughout this lesson. This information is also important to ensure that this information is what you expect, otherwise you may use the wrong account or run or store things in the wrong place. It is important to be clear about these terms as they are often different in other cloud providers. \n", - "\n", - "(need glossary for Azure) We provide a [glossary of Azure terms](glossary.ipynb) for your reference." + "We provide a [glossary of Azure terms](glossary.ipynb) for your reference." ] }, { "cell_type": "markdown", - "id": "3e128379", + "id": "b8747e81", "metadata": {}, "source": [ "## Accounts (Authentication and Identity) & login\n", @@ -48,21 +47,21 @@ "The (Azure) **Account** is the identity used to access the Azure web console and is in the form of an email address and is associated with an individual. This is typically the account you use to access Azure services associated with your institution and not your personal account. We will now login to the Azure web console and verify our account.\n", "\n", " * Login to the web console with your (Azure) account by going to [https://portal.azure.com//](https://portal.azure.com//)\n", - " * Fill in your username and password (assigned to you in the an email from CLASS or perhap from your institution. \n", - " * Find your user/account under the \"Avatar\" in the top right (see number 4 below).\n", + " * Fill in your username and password (assigned to you in the an email from CLASS or perhap from your institution). \n", + " * Find your user/account under the \"Avatar\" in the top right (see number 5 below).\n", "\n", - "You are now logged on. Welcome to the first step of your cloud journey!" + "You are now logged in. Welcome to the first step of your cloud journey!" ] }, { "cell_type": "markdown", - "id": "90066c19", + "id": "6f9af1ea", "metadata": {}, "source": [ "### Exercise\n", "\n", "Take a few moments to ask yourself the following questions:\n", - " * What account are you currently using in the Google Cloud web console?\n", + " * What account are you currently using in the Azure Cloud web console?\n", " * Are you logged into any other accounts?\n", " * How do you know which account is being used?\n", " \n", @@ -71,66 +70,50 @@ }, { "cell_type": "markdown", - "id": "160353bd", + "id": "4901d3bb", "metadata": {}, "source": [ "## Subscriptions\n", " \n", - "Click on the *Directories & Subscriptions* buttton (#4).\n", - "Verify that you are in the right *Directory and Subscription* (briefly discribe D&S).\n", + "Click on the *Directories & Subscriptions* buttton (number 4 below).\n", + "Verify that you are in the right *Directory and Subscription* (For more information on Directories and Subscriptions, see the *glossary of Azure terms* link above).\n", " \n", "Take a few moments to ask yourself the following questions:\n", - " * What is the *name* of the Project you are currently using in the Google Cloud Platform web console?\n", - " * What is the *Project ID* of that project?\n", - " * What is the *Project Number* of that project?\n", - " * Do you have multiple projects?\n", - " * How do you know which project you are currently using?\n", - "\n", - "If you are currently not using the correct project for this lesson, switch to the correct one." - ] - }, - { - "cell_type": "markdown", - "id": "6e3b3cbd", - "metadata": {}, - "source": [ - "## Services\n", - "\n", - "The web console is used to control and observe the cloud from the browser. It should only be used for simple and one-time tasks, exploring new services, accessing documentation, or for monitoring and debugging resources in the cloud. Programmatic control through the console, programming languages (for example Python), and other automation tools should be used for day to day activities to make the most out of the cloud and to help with the reproducibility of research and teaching.\n", + " * What is the *name* of the Subscription you are currently using in the Azure web console?\n", + " * Do you have multiple subscriptions?\n", + " * How do you know which subscription you are currently using?\n", "\n", - "The Navigation Menu (number 1 above) is used to navigate to the various products, which are also sometimes called services.\n" + "If you are currently not using the correct subscription for this lesson, switch to the correct one." ] }, { "cell_type": "markdown", - "id": "b474c54d", + "id": "d2611421", "metadata": {}, "source": [ "## Services\n", "\n", "The web console is used to control and observe the cloud from the browser. It should only be used for simple and one-time tasks, exploring new services, accessing documentation, or for monitoring and debugging resources in the cloud. Programmatic control through the console, programming languages (for example Python), and other automation tools should be used for day to day activities to make the most out of the cloud and to help with the reproducibility of research and teaching.\n", "\n", - "The Navigation Menu (often called the hamburger) is used to navigate to the various products, which are also sometimes called services.\n", + "The Navigation Menu (number 1 below) is used to navigate to the various products, which are also called services.\n", "\n", - "![hamburger-navigation](images/hamburger-navigation.png)\n", + "![hamburger-navigation](images/Azure-services-menu.png)\n", "\n", - " * Click on a product to navigate the product page\n", - " * You can pin frequently used items on the top of this page by clicking on the pin icon. \n", + " * Click on a product to navigate to the product page \n", " * Click the hamburger again to hide the Left Sidebar.\n", "\n", - "All the different products and services are the \"What\" of the cloud. We will start with compute, called *Google Compute Engine* in the next Episode. \n", + "All the different products and services are the \"What\" of the cloud. We will start with compute, called *Azure VM* in the next Episode. \n", "\n", "### Exercise \n", "\n", - "Take a few moments to navigate a few key services.\n", - " * Navigate to the \"Compute Engine\" service under the \"Compute\" product group.\n", - " * You will probably need to \"Enable\" this service first by clicking on the \"Enable\" button on the \"Compute Engine API\" page. This will only need to be done once per project.\n", - " * Navigate to \"Cloud Storage\" under the \"Storage\" product group and enable the service if necessary." + "Take a few moments to navigate to a few key services.\n", + " * Navigate to the \"Virtual Machine\" service in the Left Sidebar menu.\n", + " * Navigate to \"Storage Accounts\" service in the Left Sidebar menu.\n" ] }, { "cell_type": "markdown", - "id": "a25ba0f1", + "id": "13817be0", "metadata": {}, "source": [ "## Everything Else\n", @@ -160,7 +143,7 @@ }, { "cell_type": "markdown", - "id": "e94b53e2", + "id": "5ab062d4", "metadata": {}, "source": [ "## Open a Cloud Shell\n", @@ -169,14 +152,80 @@ "\n", "To use the Cloud Shell:\n", " * Open up a Cloud Shell by clicking on the **Cloud Shell** icon in the right side of the top blue bar (number 3 above).\n", - " * Once the Cloud Shell is open, you should see \"Welcome to Azure Cloud Shell\".\n", + " * Once the Cloud Shell is open and has initialized, you should see \"Welcome to Azure Cloud Shell\".\n", " * Click the middle box icon on the right side of the Cloud Shell bar to maximize the screen. You can find the correct icon by hovering over the icons to see their names.\n", - " * Note: You can open the Cloud Shell in a new tab by clicking on the **Open new session** icon (looks like a box with a \"+\") in the middle of the Cloud Shell bar.\n" + " * Note: You can open the Cloud Shell in a new tab by clicking on the **Open new session** icon (looks like a box with a \"+\") in the middle of the Cloud Shell bar.\n", + "\n", + "![Azure-cloud-shell](images/Azure-cloud-shell.png)\n", + "\n", + "You will notice that in the upper left corner of the cloud shell there is a pull down menu. This should be set to **bash** (The other option is PowerShell). We will now prepare for the next lessons by creating an ssh key." + ] + }, + { + "cell_type": "markdown", + "id": "53d98252", + "metadata": {}, + "source": [ + "Now we will create a ssh key pair to use with some of the other lessons (e.g. we need a ssh key when creating a VM in order to login securely).\n", + "\n", + "At the **$** prompt, enter **ssh-keygen** and follow the prompts." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be8b4eb8", + "metadata": {}, + "outputs": [], + "source": [ + "$ ssh-keygen\n", + "Generating public/private rsa key pair.\n", + "Enter file in which to save the key (/home/john/.ssh/id_rsa):" + ] + }, + { + "cell_type": "markdown", + "id": "af178e4d", + "metadata": {}, + "source": [ + "This prompt is asking you to create a .ssh directory in your home directory and generate ssh public/private keys named id_rsa.pub/id_rsa (default).\n", + "\n", + "Press enter to continue to create the key. You will see another message asking you for a passphrase, similar to the following:\n", + "```\n", + "Generating public/private rsa key pair.\n", + "Enter passphrase (empty for no passphrase):\n", + "```\n", + "Here you should enter a passphrase (a series of words) to protect the key. You will be asked to re-enter the passphrase as shown below:\n", + "```\n", + "Enter same passphrase again:\n", + "```\n", + "\n", + "After successfully retyping the passphrase the key generation process will continue showing similar message as follows (the fingerprint and art will look different):\n", + "```\n", + "Your identification has been saved in /home/learner/.ssh/id_rsa.\n", + "Your public key has been saved in /home/learner/.ssh/id_rsa.pub.\n", + "The key fingerprint is:\n", + "SHA256:D9yj1nZEUigahirvjkIFoCP7RfjDu67Ku88M7nHQftI learner@cs-748001990186-default-boost-r9phq\n", + "The key's randomart image is:\n", + "+---[RSA 2048]----+\n", + "|o . .. |\n", + "|.. .. o . .. |\n", + "|+ o... o .. . |\n", + "|ooo= .. . o |\n", + "|.+..= S o . |\n", + "| o+..o = o |\n", + "|.+.+.E o + . |\n", + "|+.B o. . . . |\n", + "|=O**o |\n", + "+----[SHA256]-----+\n", + "```\n", + "\n", + "The ssh key generation is now complete. This will only happen once for your account. Later during the VM create proces you will be asked to Cut & Paste the public key into a form. " ] }, { "cell_type": "markdown", - "id": "e17944ad", + "id": "779c8715", "metadata": {}, "source": [ "## Exercise\n", @@ -197,7 +246,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -211,7 +260,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.7" } }, "nbformat": 4, diff --git a/content/Azure/02_intro_to_compute.ipynb b/content/Azure/02_intro_to_compute.ipynb index 5c47b31..d401cb0 100644 --- a/content/Azure/02_intro_to_compute.ipynb +++ b/content/Azure/02_intro_to_compute.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "markdown", - "id": "3565e61f", + "id": "eb6326d6", "metadata": {}, "source": [ "## Azure Virtual Machines" @@ -46,11 +46,15 @@ }, { "cell_type": "markdown", - "id": "4efebb57", + "id": "ce935ec7", "metadata": {}, "source": [ "Before we begin this lesson/episode we need to create a ssh key in order to login into the VM we about to create. We will use the public key when we create the VM.\n", "\n", + "**Note:** Step 1. below is not required if you have already created a ssh key in the [Intro to Cloud Console](01_intro_to_cloud_console.ipynb) lesson. If you have already created a key go directly to step 2.\n", + "\n", + "**Step 1.**\n", + "\n", "If you have not used the cloud shell to connect to a *VM Instance* before you will need to create a new *ssh key*. The Compute Engine will use this key to allow you to access the *VM instance* in a secure manner. If this is the case you will see a message similar to the following:\n", "```\n", "WARNING: The private SSH key file for gcloud does not exist.\n", @@ -95,20 +99,17 @@ "\n", "The ssh key generation is now complete. This will only happen once for your account. Later during the VM create proces you will be asked to Cut & Paste the public key into a form. \n", "\n", - "Copy the public key to your clip board \n", - "\n", "\n", - "future connections.\n" + "**Step 2.**\n", + "Copy the public key to your clip board future connections.\n" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "7245d24e", + "cell_type": "markdown", + "id": "0f47f212", "metadata": {}, - "outputs": [], "source": [ - "cat /home/learner/.ssh/azure_compute_engine.pub" + "cat /home/learner/.ssh/id_rsa.pub" ] }, { @@ -294,7 +295,7 @@ }, { "cell_type": "markdown", - "id": "bb819970", + "id": "41119145", "metadata": {}, "source": [ "## Clean up\n", @@ -314,7 +315,9 @@ "* Select the Resource Group to delete.\n", "* Click delete\n", "* A warning will ask you to enter the name of the Resource Group to make sure you want to continue with this perminent operation.\n", - "* Confirm that you want ot delete the Resouce Group." + "* Confirm that you want ot delete the Resouce Group.\n", + "\n", + "Note: By deleting the Resource Group you will delete all services under it." ] }, { @@ -328,7 +331,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -342,7 +345,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.7" } }, "nbformat": 4, diff --git a/content/Azure/05_intro_to_cloud_storage_cli.ipynb b/content/Azure/05_intro_to_cloud_storage_cli.ipynb index ef2660e..b082779 100644 --- a/content/Azure/05_intro_to_cloud_storage_cli.ipynb +++ b/content/Azure/05_intro_to_cloud_storage_cli.ipynb @@ -45,24 +45,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'eastus' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mRG\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_rg\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mLOCATION\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0meastus\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mBLOB_CON\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_blob_cont\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mSTGE_ACCT\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_stor_ac\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mCTR\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"demo_stge_ctr\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'eastus' is not defined" - ] - } - ], + "outputs": [], "source": [ "RG=\"demo_rg\"\n", - "LOCATION=eastus\n", + "LOCATION=\"eastus\"\n", "BLOB_CON=\"demo_blob_cont\"\n", "STGE_ACCT=\"demo_stor_ac\"\n", "CTR=\"demo_stge_ctr\"" @@ -76,8 +64,10 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "az group create --name $RG --location $LOCATION" ] @@ -93,9 +83,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (838669738.py, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"/var/folders/ty/h84mzh251vdbfwf3zsph_xrh0000gq/T/ipykernel_80687/838669738.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m az storage account create --name $STGE_ACCT --resource-group $RG --location $LOCATION --sku Standard_ZRS --encryption-services blob\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], "source": [ "az storage account create --name $STGE_ACCT --resource-group $RG --location $LOCATION --sku Standard_ZRS --encryption-services blob" ] @@ -332,7 +331,7 @@ "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" }, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -346,7 +345,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.7" } }, "nbformat": 4, diff --git a/content/Azure/glossary.ipynb b/content/Azure/glossary.ipynb index e690bf9..f7501e9 100644 --- a/content/Azure/glossary.ipynb +++ b/content/Azure/glossary.ipynb @@ -2,31 +2,43 @@ "cells": [ { "cell_type": "markdown", - "id": "1f0027c2-df7b-426e-b4f4-3e1db9916d14", + "id": "efd09804", "metadata": {}, "source": [ "# Glossary\n", "\n", - "* **Account** - The Google account (email) associated with an individual. This is the identity that you use to access console and takes the form of an email address.\n", - "* **Project** - Resources and services in Google Cloud are created within a single Project. \n", - "* **Project Name** - The long human readable name of your project. You can change this.\n", - "* **Project ID** - an alpha-numeric string identifier for the project. This is not changeable.\n", - "* **Project Number** - a long number that also identifies the project but is rarely used (it is an internal identifier). \n", - "* **Billing Account** - an account used to pay for Google Cloud services. A Billing Account is associated with a Project and enables resource allocation. A project has only one Billing Account associated with it. A Billing account can be used for multiple Projects." + "* **Active Directory** - This is were your identity is defined. This is typically setup by the institution that you belong to.\n", + "* **Subscription** - Resources and services in Azure are created within a Subsrciption and this acts as your billing account. \n", + "* **Account** - The Azure account (email) associated with an individual. This is the identity that you use to access console.\n", + "* **Resource Group** - A resource group is a *container* (in the literal sense not to be confused with a Docker container for example) that holds related resources that you want to manage as a group." ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "471d2fe5", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Bash", - "language": "bash", - "name": "bash" + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, "language_info": { - "codemirror_mode": "shell", - "file_extension": ".sh", - "mimetype": "text/x-sh", - "name": "bash" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" } }, "nbformat": 4, diff --git a/content/Azure/images/Azure-cloud-shell.png b/content/Azure/images/Azure-cloud-shell.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8634746c3ec5b4853d4788e5037fbd5dc7b849 GIT binary patch literal 57040 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

PW9X|Zc?RpGaP3NW9dz^IPZ`?%3c$=@s{O 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 BDBS=6 literal 0 HcmV?d00001 diff --git a/content/Azure/images/Azure-services-menu.png b/content/Azure/images/Azure-services-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..416acdc65c7469856324aa4dcc736971d220c177 GIT binary patch literal 42603 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 ?Rso6WJG;;zw@w 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