File size: 6,346 Bytes
71502ca | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | {
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"id": "6205f0fb-db74-44d2-bfb1-98760790125c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Defaulting to user installation because normal site-packages is not writeable\n",
"Collecting boto3\n",
" Downloading boto3-1.34.83-py3-none-any.whl.metadata (6.6 kB)\n",
"Collecting botocore<1.35.0,>=1.34.83 (from boto3)\n",
" Downloading botocore-1.34.83-py3-none-any.whl.metadata (5.7 kB)\n",
"Collecting jmespath<2.0.0,>=0.7.1 (from boto3)\n",
" Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\n",
"Collecting s3transfer<0.11.0,>=0.10.0 (from boto3)\n",
" Downloading s3transfer-0.10.1-py3-none-any.whl.metadata (1.7 kB)\n",
"Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /opt/anaconda/envs/myenv/lib/python3.8/site-packages (from botocore<1.35.0,>=1.34.83->boto3) (2.9.0)\n",
"Collecting urllib3<1.27,>=1.25.4 (from botocore<1.35.0,>=1.34.83->boto3)\n",
" Downloading urllib3-1.26.18-py2.py3-none-any.whl.metadata (48 kB)\n",
"\u001b[2K \u001b[90mβββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m48.9/48.9 kB\u001b[0m \u001b[31m758.9 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m \u001b[36m0:00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: six>=1.5 in /opt/anaconda/envs/myenv/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.35.0,>=1.34.83->boto3) (1.16.0)\n",
"Downloading boto3-1.34.83-py3-none-any.whl (139 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m139.3/139.3 kB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
"\u001b[?25hDownloading botocore-1.34.83-py3-none-any.whl (12.1 MB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m12.1/12.1 MB\u001b[0m \u001b[31m24.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
"\u001b[?25hDownloading jmespath-1.0.1-py3-none-any.whl (20 kB)\n",
"Downloading s3transfer-0.10.1-py3-none-any.whl (82 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m82.2/82.2 kB\u001b[0m \u001b[31m2.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB)\n",
"\u001b[2K \u001b[90mββββββββββββββββββββββββββββββββββββββββ\u001b[0m \u001b[32m143.8/143.8 kB\u001b[0m \u001b[31m5.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: urllib3, jmespath, botocore, s3transfer, boto3\n",
"Successfully installed boto3-1.34.83 botocore-1.34.83 jmespath-1.0.1 s3transfer-0.10.1 urllib3-1.26.18\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install boto3"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "4afe577f-283e-431a-8109-56228af5f203",
"metadata": {},
"outputs": [],
"source": [
"import boto3\n",
"import json\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "80ea967b-3787-4c5a-b90b-692782bb9460",
"metadata": {},
"outputs": [],
"source": [
"# Initialize a session using your credentials\n",
"session = boto3.Session(\n",
" aws_access_key_id='AKIAZ3CL7RBT67UNF7CU',\n",
" aws_secret_access_key='1C1gUZflYJ0Q8voiI4Iv+DBBXeLv0w9PQjOZm8Kr',\n",
" region_name='us-west-2' # e.g., us-east-1\n",
")\n",
"\n",
"# Create an S3 client using the session\n",
"s3 = session.client('s3')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "b05018cb-03d4-4d47-9c60-149a8f73cf1c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MOCK_PEOPLE.json\n",
"MOCK_TRAVEL.json\n",
"MOCK_VEHICLE.json\n"
]
}
],
"source": [
"bucket_name = 'caetestbucket'\n",
"\n",
"try:\n",
" contents = s3.list_objects(Bucket=bucket_name)['Contents']\n",
" for item in contents:\n",
" print(item['Key'])\n",
"except NoCredentialsError:\n",
" print(\"Credentials not available\")\n",
"except KeyError:\n",
" print(\"Bucket is empty or does not exist\")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "028e3460-0485-4bfc-aa41-044276439838",
"metadata": {},
"outputs": [],
"source": [
"import boto3\n",
"import json\n",
"\n",
"file_key = 'MOCK_VEHICLE.json'\n",
"\n",
"response = s3.get_object(Bucket=bucket_name, Key=file_key)\n",
"# Assuming each line in the file is a separate JSON object\n",
"vehicle_data_lines = response['Body'].read().decode('utf-8').splitlines()\n",
"\n",
"vehicle_data = []\n",
"for line in vehicle_data_lines:\n",
" try:\n",
" vehicle = json.loads(line)\n",
" vehicle_data.append(vehicle)\n",
" except json.JSONDecodeError as e:\n",
" print(f\"Error decoding JSON: {e}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4e4c78c3-bd9d-417e-9b96-9046cce33df2",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.19"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|