

 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/). 

# Carga de archivos en Amazon S3 para utilizar con COPY
<a name="t_uploading-data-to-S3"></a>

Hay un par de enfoques que se deben adoptar cuando se carguen archivos de texto en Amazon S3:
+ Si tiene archivos comprimidos, le recomendamos que divida los archivos de gran tamaño para aprovechar los beneficios del procesamiento en paralelo en Amazon Redshift.
+ Por otro lado, COPY divide automáticamente los datos de archivos de texto de gran tamaño que estén delimitados y sin comprimir para facilitar el paralelismo y distribuir eficazmente los datos de archivos de gran tamaño.

Cree un bucket de Amazon S3 para que contenga sus archivos de datos y, luego, cargue los archivos de datos en él. Para obtener más información acerca de la creación de buckets y la carga de archivos, consulte [Trabajo con buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) en la *Guía del usuario de Amazon Simple Storage Service*. 

**importante**  
El bucket de Amazon S3 que tiene los archivos de datos debe crearse en la misma región de AWS que el clúster, a menos que use la opción [REGION](copy-parameters-data-source-s3.md#copy-region) para especificar la región en la que se encuentra el bucket de Amazon S3.

Asegúrese de que los rangos de IP de S3 estén agregados a la lista de permitidos. Para obtener más información acerca de los rangos de IP de S3 necesarios, consulte [Aislamiento de red](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation).

Puede crear un bucket de Amazon S3 en una región específica. Para ello, seleccione la región mientras crea el bucket con la consola de Amazon S3 o especifique un punto de conexión mientras crea el bucket con la CLI o la API de Amazon S3.

Luego de la carga de los datos, corrobore que los archivos presentes en Amazon S3 sean los correctos.

**Topics**
+ [Administración de la consistencia de los datos](managing-data-consistency.md)
+ [Carga de datos cifrados en Amazon S3](t_uploading-encrypted-data.md)
+ [Comprobación de que los archivos presentes en el bucket son los correctos](verifying-that-correct-files-are-present.md)

# Administración de la consistencia de los datos
<a name="managing-data-consistency"></a>

Amazon S3 proporciona una sólida consistencia de lectura tras escritura para las operaciones COPY, UNLOAD, INSERT (tabla externa), CREATE EXTERNAL TABLE AS y Amazon Redshift Spectrum en los buckets de Amazon S3 en todas las regiones de AWS. Además, las operaciones de lectura en Amazon S3 Select, las listas de control de acceso de Amazon S3, las etiquetas de objeto de Amazon S3 y los metadatos de objetos (por ejemplo, el objeto HEAD) son muy consistentes. Para obtener más información acerca de la consistencia de los datos, consulte [Modelo de coherencia de datos de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Introduction.html#ConsistencyModel) en la *Guía del usuario de Amazon Simple Storage Service*.

# Carga de datos cifrados en Amazon S3
<a name="t_uploading-encrypted-data"></a>

Amazon S3 admite tanto el cifrado del lado del servidor como el cifrado del lado del cliente. En este tema, se analizan las diferencias entre el cifrado del lado del cliente y el cifrado del lado del servidor, y se describen los pasos para usar un cifrado del lado del cliente con Amazon Redshift. El cifrado del lado del servidor es transparente para Amazon Redshift. 

## Cifrado en el servidor
<a name="server-side-encryption"></a>

El cifrado del lado del servidor es el cifrado de datos en reposo; es decir, Amazon S3 cifra los datos a medida que los carga y los descifra para usted cuando obtiene acceso a estos. Cuando se cargan tablas con un comando COPY, no existe diferencia alguna en la forma de carga desde objetos con cifrado del lado del servidor o sin cifrado en Amazon S3. Para obtener más información acerca del cifrado del lado del servidor, consulte [Uso del cifrado del lado del servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

## Cifrado del lado del cliente
<a name="client-side-encryption"></a>

En el cifrado en el cliente, su aplicación cliente administra el cifrado de los datos, las claves de cifrado y las herramientas relacionadas. Puede cargar los datos a un bucket de Amazon S3 con el cifrado del lado del cliente y, luego, cargar los datos con el comando COPY con la opción ENCRYPTED y una clave de cifrado privada para proporcionar mayor seguridad.

Usted cifra los datos con cifrado de sobre. Con el *cifrado de sobre*, la aplicación controla todo el cifrado de manera exclusiva. Las claves de cifrado privadas y los datos sin cifrar nunca se envían a AWS, por lo que es muy importante que administre con seguridad las claves de cifrado. Si pierde las claves de cifrado, no podrá descifrar los datos, y estas no se podrán recuperar desde AWS. El cifrado de sobre combina el rendimiento de un cifrado simétrico rápido al mismo tiempo que mantiene la mayor seguridad que brinda la administración de claves con claves asimétricas. El cliente de cifrado de Amazon S3 genera una clave simétrica de un solo uso (la clave simétrica de sobre) para cifrar los datos. Luego, esa clave se cifra mediante la clave raíz y se almacena junto con los datos en Amazon S3. Cuando Amazon Redshift obtiene acceso a los datos durante la carga, la clave simétrica cifrada se recupera y se descifra con la clave real y, luego, se descifran los datos.

Para trabajar en Amazon Redshift con datos cifrados del lado del cliente de Amazon S3, siga los pasos que se indican en el artículo [Protección de datos con el cifrado del lado del cliente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) en la *Guía del usuario de Amazon Simple Storage Service*, con el requisito adicional de que utilice lo siguiente:
+ **Cifrado simétrico**: el AWS SDK para Java en su clase `AmazonS3EncryptionClient` usa el cifrado de sobre, descrito antes, que se basa en el cifrado con claves simétricas. Use esta clase para crear un cliente de Amazon S3 en el que cargar datos cifrados del lado del cliente.
+ **Una clave raíz simétrica con cifrado AES de 256 bits**: una clave raíz cifra la clave de sobre. La clave raíz se pasa a la instancia de la clase `AmazonS3EncryptionClient`. Guarde esa clave, ya que la necesitará para copiar los datos en Amazon Redshift.
+ **Metadatos de los objetos que van a almacenar la clave de sobre cifrada**: de forma predeterminada, Amazon S3 almacena la clave de sobre como metadatos de los objetos de la clase `AmazonS3EncryptionClient`. La clave de sobre cifrada que se almacena como metadatos de los objetos se usa durante el proceso de descifrado. 

**nota**  
Si obtiene un mensaje de error de cifrado cuando usa la Application Programming Interface (API, Interfaz de programación de aplicaciones) de cifrado por primera vez, su versión del Java Development Kit (JDK, Kit de desarrollo de Java) puede tener un archivo de política de jurisdicción de Java Cryptography Extension (JCE, Extensión de criptografía Java) que limite la longitud máxima de la clave para las transformaciones de cifrado y descifrado a 128 bits. Para obtener información acerca de cómo solucionar este problema, consulte [Especificación del cifrado del lado del cliente con AWS SDK para Java](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryptionUpload.html) en la *Guía del usuario de Amazon Simple Storage Service*. 

Para obtener información acerca de la carga de archivos cifrados del lado del cliente en las tablas de Amazon Redshift con el comando COPY, consulte [Carga de archivos de datos cifrados desde Amazon S3](c_loading-encrypted-files.md).

## Ejemplo: Carga de datos cifrados en el cliente
<a name="client-side-encryption-example"></a>

Si desea obtener un ejemplo sobre cómo se utiliza AWS SDK para Java para cargar datos cifrados del lado del cliente, consulte [Protección de datos mediante el cifrado del lado del cliente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/encrypt-client-side-symmetric-master-key.html) en la *Guía del usuario de Amazon Simple Storage Service*. 

En la segunda opción, se muestran las decisiones que debe tomar durante el cifrado del lado del cliente para que los datos puedan cargarse en Amazon Redshift. Específicamente, en el ejemplo se muestra el uso de metadatos de los objetos para almacenar la clave de sobre cifrada y el uso de una clave raíz simétrica con cifrado AES de 256 bits. 

En este ejemplo, se proporciona un código de ejemplo que utiliza AWS SDK para Java para crear una clave raíz simétrica con cifrado AES de 256 bits y guardarla en un archivo. Luego, se incluye un ejemplo de carga de un objeto en Amazon S3 con un cliente de cifrado de S3 que primero cifra los datos de muestra en el cliente. En el ejemplo, también se descarga el objeto y se comprueba que los datos sean los mismos.

# Comprobación de que los archivos presentes en el bucket son los correctos
<a name="verifying-that-correct-files-are-present"></a>

Una vez que cargue los archivos en su bucket de Amazon S3, le recomendamos que enumere el contenido del bucket para corroborar que este tenga todos los archivos correctos y que no incluya ningún archivo no deseado. Por ejemplo, si el bucket `amzn-s3-demo-bucket` tiene un archivo denominado `venue.txt.back`, ese archivo será cargado, quizás de manera no intencional, por el siguiente comando:

```
COPY venue FROM 's3://amzn-s3-demo-bucket/venue' … ;
```

Si desea controlar de manera específica qué archivos se cargan, puede usar un archivo de manifiesto para listar los archivos de datos de manera explícita. Para obtener más información acerca del uso de un archivo de manifiesto, consulte la opción [copy_from_s3_manifest_file](copy-parameters-data-source-s3.md#copy-manifest-file) para el comando COPY y [Uso de un manifiesto para especificar archivos de datos](r_COPY_command_examples.md#copy-command-examples-manifest) en los ejemplos de COPY. 

Para obtener más información acerca de cómo mostrar el contenido del bucket, consulte [Listas de claves de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) en la *Guía para desarrolladores de Amazon S3*.