Making your life easier on doing simple tasks in AWS via boto3
Project description
Table of content
O que é o cloudgeass?
Cloudgeass é uma biblioteca Python criada para centralizar uma série de módulos, classes, métodos e funções prontas para serem utilizadas nos mais variados serviços da AWS. Inspirado em um renomado anime japonês, o cloudgeass visa proporcionar um maior controle sobre atividades e operações comumente realizadas em aplicações criadas na nuvem.
Note Agora o cloudgeass possui uma documentação oficial no readthedocs! Acesse o seguinte link e confira detalhes técnicos de usabilidade, exemplos práticos e muito mais!
Funcionalidades presentes
Em linhas gerais, a biblioteca cloudgeass é divida em diferentes módulos, cada um encapsulando e consolidando funcionalidades para fins específicos. Os módulos existentes até o momento são:
- :bucket:
cloudgeass.aws.s3
: funcionalidades para operações no S3 - :key:
cloudgeass.aws.secrets
: funcionalidades para operações no Secrets Manager - :soap:
cloudgeass.aws.glue
: :warning: em ideação
O módulo s3
A ideia por trás do módulo cloudgeass.aws.s3
gira em torno do fornecimento de funções e blocos de código contendo operações comumente realizadas no S3. Para navegar por todas as funcionalidades presentes, consulte o arquivo s3.py ou, se preferir, clique no dropdown abaixo para assistir os vídeos de demonstrações.
Note Vídeos marcados com ⭐ indicam features provavelmente relevantes para o contexto de Analytics e são as preferidas dos usuários!
📽️ Listando buckets de uma conta com list_buckets()
Código utilizado:
from cloudgeass.aws.s3 import list_buckets
buckets = list_buckets()
buckets
📽️ Obtendo um report de objetos de um bucket com bucket_objects_report()
Código utilizado:
from cloudgeass.aws.s3 import bucket_objects_report
bucket_name = "nome-de-bucket-aws"
df_objs_report = bucket_objects_report(bucket_name=bucket_name)
df_objs_report.head(3)
📽️ Obtendo um report de objetos apenas de um determinado prefixo (ou tabela no S3)
Código utilizado:
from cloudgeass.aws.s3 import bucket_objects_report
# Definindo nome de bucket e prefixo alvo da extração
bucket_name = "nome-de-bucket-aws"
prefix = "a-sample-prefix"
df_objs_report = bucket_objects_report(bucket_name=bucket_name, prefix=prefix)
df_objs_report.head(3)
📽️ Obtendo um report de objetos de todos os buckets com all_buckets_objects_report()
Código utilizado:
from cloudgeass.aws.s3 import all_buckets_objects_report
df_report = all_buckets_objects_report()
df_report.head()
📽️ Obtendo um report de objetos de todos os buckets ignorando alguns buckets
Código utilizado:
from cloudgeass.aws.s3 import all_buckets_objects_report
# Definindo lista de buckets a serem ignorados no report de objetos
ignore_buckets = [
"terraglue-athena-query-results-569781470788-us-east-1",
"terraglue-glue-assets-569781470788-us-east-1",
"terraglue-sor-data-569781470788-us-east-1",
"terraglue-spec-data-569781470788-us-east-1"
]
# Obtendo report
df_report = all_buckets_objects_report(exclude_buckets=ignore_buckets)
df_report.head()
📽️⭐ Lendo um objeto CSV, JSON ou PARQUET em um DataFrame do pandas com read_s3_object()
Código utilizado:
from cloudgeass.aws.s3 import read_s3_object
# Definindo variáveis para leitura de objeto no S3
bucket_name = "nome-de-bucket"
obj_prefix = "tbsot_ecommerce_br/anomesdia=20230213/run-1676319522273-part-block-0-0-r-00004-snappy.parquet"
# Criando URI
s3_uri_parquet = f"s3://{bucket_name}/{obj_prefix}"
# Lendo objeto parquet
df_parquet = read_s3_object(s3_uri_parquet)
df_parquet.head()
📽️⭐ Coletando última partição de tabela no S3 com get_last_partition()
Código utilizado:
from cloudgeass.aws.s3 import get_last_partition
# Definindo variáveis para leitura de objeto no S3
bucket_name = "terraglue-sot-data-569781470788-us-east-1"
table_prefix = "tbsot_ecommerce_br"
last_partition = get_last_partition(bucket_name, table_prefix)
Contatos
Referências
Python
Docs
- NumPy docstrings
- Eduardo Mendes - Live de Python 189 - MkDocs
- MkDocs
- pmdown-extensions
- GitHub - MkDocs Themes
- GitHub - Material Theme for MkDocs
- Material for MkDocs - Setup
Github
- GitHub Actions - pypa/gh-action-pypi-publish
- Medium - Major, Minor and Patch
- Medium - Automate PyPI Releases with GitHub Actions
Tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cloudgeass-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fafc37cb89236f4e1c731d1ea83ce2634d20731474b7c3ea663f3160033143fe |
|
MD5 | ee2016ca4699ef4260250a61d334a232 |
|
BLAKE2b-256 | e66f67b6043b3192462f9532bf58a40afaaf9d4224eb65cc53fcdc4ba6a5abf7 |