{ "metadata": { "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.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3.8.2 64-bit", "metadata": { "interpreter": { "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" } } } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# Compartiendo conjuntos de datos entre cuentas de forma segura usando Amazon S3 Access Points " ], "cell_type": "markdown", "metadata": {} }, { "source": [ "Este notebook complementa el artículo \"Compartiendo conjuntos de datos entre cuentas de forma segura usando Amazon S3 Access Points\". Se debe ejecutar una vez creado el punto de acceso en la cuenta **Provider**, siguiendo las indicaciones del artículo." ], "cell_type": "markdown", "metadata": {} }, { "source": [ "![Acceso a conjuntos de datos desde otra cuenta](../images/0-LakeFormationCrossAccount.png)" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "El código a continuación permite demostrar cómo un servicio en la cuenta **Consumer** puede acceder al conjunto de datos en la cuenta **Provider** por medio de un punto de acceso de S3. Usaremos la librería [AWS Data Wrangler](https://github.com/awslabs/aws-data-wrangler) para leer el conjunto de datos [en formato CSV](https://aws-data-wrangler.readthedocs.io/en/2.4.0-docs/stubs/awswrangler.s3.read_csv.html#awswrangler.s3.read_csv) e importarlo como un DataFrame de Pandas. En el path de S3, usaremos el ARN del access point en vez del nombre del bucket." ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## Instalación de AWS Data Wrangler via Pypi" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install awswrangler" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import awswrangler as wr" ] }, { "source": [ "## Reemplazar ARN de S3 Access Point y prefijo de tabla." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "S3_ACCESS_POINT_ARN = \"arn:aws:s3:::accesspoint/\"\n", "TABLE_PREFIX = \"\"" ] }, { "source": [ "## Acceso al conjunto de datos vía S3 Access Point" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "s3_ap_path = f\"s3://{S3_ACCESS_POINT_ARN}/object/{TABLE_PREFIX}\"\n", "\n", "df = wr.s3.read_csv(path=s3_ap_path)" ], "cell_type": "code", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(df)" ] } ] }