

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Uso del comando COPY para cargar desde Amazon S3
<a name="t_loading-tables-from-s3"></a>

Uso del comando [COPY](r_COPY.md) para cargar una tabla en paralelo desde los archivos de datos en Amazon S3. Puede especificar los archivos que se cargarán mediante un prefijo de objeto de Amazon S3 o un archivo de manifiesto.

La sintaxis para especificar los archivos por cargar mediante el uso de un prefijo es la siguiente:

```
COPY <table_name> FROM 's3://<bucket_name>/<object_prefix>'
authorization;
```

 El archivo de manifiesto es un archivo con formato JSON que lista los archivos de datos que se deben cargar. La sintaxis para especificar los archivos por cargar mediante el uso de un archivo de manifiesto es la siguiente:

```
COPY <table_name> FROM 's3://<bucket_name>/<manifest_file>'
authorization
MANIFEST;
```

La tabla que se cargará ya debe existir en la base de datos. Para obtener más información acerca de la creación de una tabla, consulte [CREATE TABLE](r_CREATE_TABLE_NEW.md) en la referencia de SQL. 

Los valores de *autorización* proporcionan la autorización de AWS que Amazon Redshift necesita para acceder a los objetos de Amazon S3. Para obtener más información acerca de los permisos necesarios, consulte [Permisos de IAM para COPY, UNLOAD y CREATE LIBRARY](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions). El método de autenticación preferido es especificar el parámetro IAM\_ROLE y proporcionar el Amazon Resource Name (ARN, Nombre de recurso de Amazon) de un rol de IAM con los permisos necesarios. Para obtener más información, consulte  [Control de acceso con base en roles](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based) . 

Para realizar la autenticación con el parámetro IAM\_ROLE, reemplace {{<aws-account-id>}} y {{<role-name>}}, tal y como se observa en la siguiente sintaxis. 

```
IAM_ROLE 'arn:aws:iam::{{<aws-account-id>}}:role/{{<role-name>}}'
```

En el siguiente ejemplo, se muestra la autenticación con un rol de IAM.

```
COPY customer 
FROM 's3://amzn-s3-demo-bucket/mydata' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

Para obtener más información acerca de otras opciones de autorización, consulte . [Parámetros de autorización](copy-parameters-authorization.md)

Si desea validar los datos sin cargar de hecho la tabla, use la opción NOLOAD con el comando [COPY](r_COPY.md).

En el siguiente ejemplo, se muestran las primeras filas de datos delimitados por barras verticales en un archivo denominado `venue.txt`.

```
1|Toyota Park|Bridgeview|IL|0
2|Columbus Crew Stadium|Columbus|OH|0
3|RFK Stadium|Washington|DC|0
```

Antes de cargar el archivo en Amazon S3, divídalo en distintos archivos para que el comando COPY pueda cargarlo usando el procesamiento en paralelo. La cantidad de archivos debe ser múltiplo de la cantidad de secciones en su clúster. Divida los archivos de datos de carga de modo tal que sean de igual tamaño, entre 1 MB y 1 GB, después de la compresión. Para obtener más información, consulte [Carga de datos desde archivos comprimidos y sin comprimir](t_splitting-data-files.md).

Por ejemplo, el archivo `venue.txt` podría dividirse en cuatro archivos, de la siguiente manera:

```
venue.txt.1
venue.txt.2
venue.txt.3
venue.txt.4
```

El siguiente comando COPY carga la tabla VENUE con datos delimitados por barras verticales en los archivos de datos con el prefijo “venue” del bucket de Amazon S3 `amzn-s3-demo-bucket`. 

**nota**  
El bucket `amzn-s3-demo-bucket` de Amazon S3 no está presente en los siguientes ejemplos. Para ver información acerca de comandos COPY de muestra que usan datos reales de un bucket de Amazon S3 existente, consulte [Carga de datos de muestra](https://docs.aws.amazon.com/redshift/latest/gsg/cm-dev-t-load-sample-data.html).

```
COPY venue FROM 's3://amzn-s3-demo-bucket/venue'
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
DELIMITER '|';
```

Si no hay objetos de Amazon S3 con el prefijo de clave “venue”, se producirá un error en la carga.

**Topics**
+ [Uso de un manifiesto para especificar archivos de datos](loading-data-files-using-manifest.md)
+ [Carga de archivos de datos comprimidos desde Amazon S3](t_loading-gzip-compressed-data-files-from-S3.md)
+ [Carga de datos de ancho fijo desde Amazon S3](t_loading_fixed_width_data.md)
+ [Carga de datos multibyte desde Amazon S3](t_loading_unicode_data.md)
+ [Carga de archivos de datos cifrados desde Amazon S3](c_loading-encrypted-files.md)