Funciones de tabla S3
s3 permite leer y escribir archivos en almacenamiento compatible con S3. La sintaxis general es la siguiente:
- path — URL del bucket con la ruta al archivo. Admite los siguientes comodines en modo de solo lectura:
*,?,{abc,def}y{N..M}, dondeNyMson números, y'abc'y'def'son cadenas. Para más información, consulta la documentación sobre el uso de comodines en la ruta. - format — El formato del archivo.
- structure — Estructura de la tabla. Formato:
'column1_name column1_type, column2_name column2_type, ...'. - compression — El parámetro es opcional. Valores admitidos:
none,gzip/gz,brotli/br,xz/LZMA,zstd/zst. De forma predeterminada, la compresión se detecta automáticamente según la extensión del archivo.
Preparación
DESCRIBE:
DESCRIBE TABLE debería mostrarte cómo ClickHouse inferiría automáticamente estos datos al verlos en el bucket de S3. Observa que también reconoce y descomprime automáticamente el formato de compresión gzip:
MergeTree estándar como destino. La siguiente sentencia crea una tabla llamada trips en la base de datos predeterminada. Tenga en cuenta que hemos optado por modificar algunos de esos tipos de datos, tal como se dedujo anteriormente, en particular para no usar el modificador de tipo de dato Nullable(), ya que podría generar datos almacenados adicionales innecesarios y cierta sobrecarga de rendimiento:
pickup_date. Normalmente, una clave de partición se utiliza para la gestión de datos, pero más adelante usaremos esta clave para paralelizar las escrituras en S3.
Cada registro de nuestro conjunto de datos de taxis contiene un trayecto en taxi. Estos datos anonimizados constan de 20 M de registros comprimidos en el bucket de S3 https://datasets-documentation.s3.eu-west-3.amazonaws.com/, dentro de la carpeta nyc-taxi. Los datos están en formato TSV, con aproximadamente 1 M de filas por archivo.
Lectura de datos desde S3
TabSeparatedWithNames codifica los nombres de las columnas en la primera fila. Otros formatos, como CSV o TSV, devolverán columnas generadas automáticamente para esta consulta, p. ej., c1, c2, c3, etc.
Las consultas también admiten columnas virtuales, como _path y _file, que proporcionan información sobre la ruta del bucket y el nombre del archivo, respectivamente. Por ejemplo:
MergeTree en ClickHouse.
Uso de clickhouse-local
clickhouse-local le permite procesar archivos locales rápidamente sin implementar ni configurar el servidor ClickHouse. Cualquier consulta que use la función de tabla s3 puede ejecutarse con esta utilidad. Por ejemplo:
Inserción de datos desde S3
s3 con una sencilla sentencia INSERT para lograrlo. Tenga en cuenta que no es necesario enumerar las columnas, porque la tabla de destino proporciona la estructura requerida. Para ello, las columnas deben aparecer en el orden especificado en la sentencia DDL de la tabla: las columnas se asignan según su posición en la cláusula SELECT. La inserción de los 10 millones de filas puede tardar unos minutos, según la instancia de ClickHouse. A continuación, insertamos 1 millón de filas para garantizar una respuesta rápida. Ajuste la cláusula LIMIT o la selección de columnas para importar subconjuntos según sea necesario:
Inserción remota con ClickHouse Local
clickhouse-local. En el ejemplo siguiente, leemos desde un bucket de S3 e insertamos los datos en ClickHouse con la función remote:
Para ejecutar esto a través de una conexión SSL segura, utilice la función
remoteSecure.Exportación de datos
s3. Para ello, necesitará los permisos adecuados. Incluimos las credenciales necesarias en la solicitud, pero consulte la página Gestión de credenciales para ver más opciones.
En el sencillo ejemplo siguiente, usamos la función de tabla como destino en lugar de como origen. Aquí enviamos 10,000 filas de la tabla trips a un bucket, especificando compresión lz4 y el tipo de salida CSV:
s3; esto puede deducirse de SELECT.
Dividir archivos grandes
INSERT varias veces, cada una sobre un subconjunto de los datos. ClickHouse ofrece una forma de dividir archivos automáticamente mediante una clave PARTITION.
En el ejemplo siguiente, creamos diez archivos usando un módulo de la función rand(). Observa cómo el ID de partición resultante se incluye en el nombre del archivo. El resultado son diez archivos con un sufijo numérico, p. ej., trips_0.csv.lz4, trips_1.csv.lz4, etc.:
payment_type proporciona una clave de particionado natural con una cardinalidad de 5.
Uso de clústeres
INSERT INTO SELECT, esto sigue dejando a un solo nodo a cargo de leer, analizar y procesar los datos. Para abordar este desafío y poder escalar las lecturas horizontalmente, contamos con la función s3Cluster.
El nodo que recibe la consulta, conocido como iniciador, crea una conexión con cada nodo del clúster. El patrón glob que determina qué archivos deben leerse se resuelve como un conjunto de archivos. El iniciador distribuye los archivos entre los nodos del clúster, que actúan como workers. Estos workers, a su vez, solicitan archivos para procesarlos a medida que completan las lecturas. Este proceso garantiza que podamos escalar las lecturas horizontalmente.
La función s3Cluster tiene el mismo formato que las variantes de un solo nodo, salvo que requiere un clúster de destino para indicar los nodos worker:
cluster_name— Nombre de un clúster que se utiliza para construir un conjunto de direcciones y parámetros de conexión a servidores remotos y locales.source— URL a un archivo o a un conjunto de archivos. Admite los siguientes comodines en modo de solo lectura:*,?,{'abc','def'}y{N..M}, donde N, M — números; abc, def — cadenas. Para obtener más información, consulte Wildcards In Path.access_key_idysecret_access_key— Claves que especifican las credenciales que se usarán con el endpoint indicado. Opcional.format— El formato del archivo.structure— Estructura de la tabla. Formato ‘column1_name column1_type, column2_name column2_type, …’.
s3, las credenciales son opcionales si el bucket es inseguro o si define la seguridad mediante el entorno, por ejemplo, con roles de IAM. Sin embargo, a diferencia de la función s3, la estructura debe especificarse en la solicitud a partir de la versión 22.3.1; es decir, el esquema no se infiere.
Esta función se utilizará como parte de un INSERT INTO SELECT en la mayoría de los casos. En este caso, a menudo insertará en una tabla distribuida. A continuación, mostramos un ejemplo sencillo en el que trips_all es una tabla distribuida. Aunque esta tabla utiliza el clúster events, la coherencia de los nodos utilizados para lecturas y escrituras no es un requisito:
s3cluster.
Motores de tabla de S3
s3 permiten realizar consultas ad hoc sobre datos almacenados en S3, su sintaxis es verbosa. El motor de tabla S3 evita tener que especificar la URL del bucket y las credenciales una y otra vez. Para ello, ClickHouse proporciona el motor de tabla S3.
path— URL del bucket con la ruta del archivo. Admite los siguientes comodines en modo de solo lectura:*,?,{abc,def}y{N..M}, donde N y M son números, y ‘abc’ y ‘def’ son cadenas. Para más información, consulte aquí.format— El formato del archivo.aws_access_key_id,aws_secret_access_key- Credenciales de larga duración para el usuario de la cuenta de AWS. Puede usarlas para autenticar sus solicitudes. El parámetro es opcional. Si no se especifican credenciales, se usan los valores del archivo de configuración. Para más información, consulte Gestión de credenciales.compression— Tipo de compresión. Valores admitidos: none, gzip/gz, brotli/br, xz/LZMA, zstd/zst. El parámetro es opcional. De forma predeterminada, la compresión se detecta automáticamente según la extensión del archivo.
Lectura de datos
trips_raw con los primeros diez archivos TSV ubicados en el bucket https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/. Cada uno de ellos contiene 1 millón de filas:
{0..9} para limitar la selección a los diez primeros archivos. Una vez creada, podemos consultar esta tabla como cualquier otra:
Inserción de datos
S3 admite lecturas en paralelo. Las escrituras solo se admiten si la definición de la tabla no contiene patrones glob. Por tanto, la tabla anterior bloquearía las escrituras.
Para ilustrar las escrituras, cree una tabla que apunte a un bucket de S3 con permisos de escritura:
merge ni operaciones de división de archivos. Una vez que se escribe un archivo, los inserts posteriores fallarán. Los usuarios tienen dos opciones aquí:
- Especifique la configuración
s3_create_new_file_on_insert=1. Esto hará que se creen archivos nuevos en cadainsert. Se añadirá un sufijo numérico al final de cada archivo, que aumentará de forma monótona con cada operación deinsert. En el ejemplo anterior, uninsertposterior provocaría la creación de un archivo trips_1.bin. - Especifique la configuración
s3_truncate_on_insert=1. Esto hará que el archivo se trunque; es decir, una vez completado, solo contendrá las filas recién insertadas.
s3_truncate_on_insert tendrá prioridad si ambas están configuradas.
Algunas notas sobre el motor de tabla S3:
- A diferencia de una tabla tradicional de la familia
MergeTree, eliminar una tablaS3no borrará los datos subyacentes. - La configuración completa para este tipo de tabla se puede encontrar aquí.
- Tenga en cuenta las siguientes limitaciones al usar este motor:
- Las consultas ALTER no son compatibles
- Las operaciones SAMPLE no son compatibles
- No existe el concepto de índices, es decir, primarios o de omisión.
Gestión de credenciales
s3 o en la definición de la tabla S3. Aunque esto puede ser aceptable para un uso ocasional, en producción se necesitan mecanismos de authentication menos explícitos. Para ello, ClickHouse ofrece varias opciones:
-
Especifique los detalles de connection en config.xml o en un configuration file equivalente dentro de conf.d. A continuación se muestra el contenido de un archivo de ejemplo, suponiendo una instalación mediante el paquete de Debian.
Estas credenciales se usarán en cualquier solicitud en la que el endpoint anterior coincida exactamente, como prefijo, con la URL solicitada. Observe también que, en este ejemplo, se puede declarar un header de autorización como alternativa a las claves de acceso y secretas. Puede consultar una lista completa de los Settings admitidos aquí.
-
El ejemplo anterior destaca la disponibilidad del parámetro de configuration
use_environment_credentials. Este parámetro de configuration también puede establecerse globalmente en el nivels3:Esta configuración activa el intento de obtener credenciales de S3 desde el entorno, lo que permite el acceso mediante IAM roles. En concreto, se sigue el siguiente orden de obtención:- Búsqueda de las variables de entorno
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEYyAWS_SESSION_TOKEN - Comprobación en $HOME/.aws
- Credenciales temporales obtenidas mediante AWS Security Token Service; es decir, a través de la API
AssumeRole - Comprobación de credenciales en las variables de entorno de ECS
AWS_CONTAINER_CREDENTIALS_RELATIVE_URIoAWS_CONTAINER_CREDENTIALS_FULL_URIyAWS_ECS_CONTAINER_AUTHORIZATION_TOKEN. - Obtención de credenciales mediante los metadatos de instancia de Amazon EC2, siempre que AWS_EC2_METADATA_DISABLED no esté establecido en true.
- Estos mismos Settings también pueden establecerse para un endpoint específico, utilizando la misma regla de coincidencia por prefijo.
- Búsqueda de las variables de entorno
Optimización del rendimiento
Ajuste del almacenamiento en S3
Wide y Compact. Aunque la implementación actual usa el comportamiento predeterminado de ClickHouse (controlado mediante los ajustes min_bytes_for_wide_part y min_rows_for_wide_part), esperamos que este comportamiento sea distinto para S3 en futuras versiones; por ejemplo, un valor predeterminado más alto de min_bytes_for_wide_part favorecería un formato más Compact y, por lo tanto, menos archivos. En este momento, quizá le convenga ajustar estos parámetros si utiliza exclusivamente almacenamiento en S3.
MergeTree respaldado por S3
s3 y el motor de tabla asociado nos permiten consultar datos en S3 con la sintaxis habitual de ClickHouse. Sin embargo, en cuanto a funcionalidades de gestión de datos y rendimiento, son limitados. No admiten índices primarios ni caché, y las inserciones de archivos deben gestionarse por parte del usuario.
ClickHouse reconoce que S3 es una solución de almacenamiento atractiva, especialmente cuando el rendimiento de las consultas sobre datos “más fríos” es menos crítico y los usuarios buscan separar el almacenamiento del cómputo. Para facilitarlo, se ofrece compatibilidad para usar S3 como almacenamiento de un motor MergeTree. Esto le permitirá aprovechar la escalabilidad y las ventajas de coste de S3, así como el rendimiento de inserción y consulta del motor MergeTree.
Niveles de almacenamiento
Creación de un disco
config.xml o, preferiblemente, crear un archivo nuevo en conf.d. A continuación se muestra un ejemplo de declaración de un disco S3:
use_environment_credentials puede establecerse en true en el bloque de configuración anterior para usar roles de IAM.
Creación de una política de almacenamiento
Creación de una tabla
Modificar una tabla
<path>. Ten en cuenta que los nombres de nuestros volúmenes y discos no cambian. Los nuevos datos insertados en nuestra tabla residirán en el disco predeterminado hasta que este alcance move_factor * disk_size; en ese momento, los datos se reubicarán en S3.
Gestión de la replicación
ReplicatedMergeTree. Consulte la guía sobre cómo replicar un único segmento entre dos regiones de AWS con almacenamiento de objetos S3 para obtener más detalles.
Lecturas y escrituras
- De forma predeterminada, el número máximo de hilos de procesamiento de consultas que puede usar cualquier etapa del pipeline de procesamiento de consultas es igual al número de núcleos. Algunas etapas se pueden paralelizar más que otras, por lo que este valor establece un límite superior. Varias etapas de la consulta pueden ejecutarse al mismo tiempo, ya que los datos se transmiten desde el disco. Por ello, el número exacto de hilos usados para una consulta puede superar este valor. Modifíquelo mediante la configuración max_threads.
- Las lecturas en S3 son asíncronas de forma predeterminada. Este comportamiento viene determinado por la configuración
remote_filesystem_read_method, cuyo valor predeterminado esthreadpool. Al atender una solicitud, ClickHouse lee los gránulos en franjas. Cada una de estas franjas puede contener muchas columnas. Un hilo leerá las columnas de sus gránulos una por una. En lugar de hacerlo de forma síncrona, se realiza una precarga de todas las columnas antes de esperar los datos. Esto ofrece mejoras significativas de rendimiento frente a esperar de forma síncrona cada columna. En la mayoría de los casos no necesitará cambiar esta configuración; consulte Optimizar el rendimiento. - Las escrituras se realizan en paralelo, con un máximo de 100 hilos concurrentes de escritura de archivos.
max_insert_delayed_streams_for_parallel_write, que tiene un valor predeterminado de 1000, controla el número de blobs de S3 que se escriben en paralelo. Como se requiere un búfer para cada archivo que se escribe (~1MB), esto limita de forma efectiva el consumo de memoria de un INSERT. Puede ser conveniente reducir este valor en entornos con poca memoria en el servidor.
Usar el almacenamiento de objetos de S3 como disco de ClickHouse
Configure ClickHouse para usar el bucket de S3 como disco
- Crea un archivo nuevo en el directorio
config.dde ClickHouse para guardar la configuración de almacenamiento.
- Agregue lo siguiente a la configuración de almacenamiento, sustituyendo la ruta del bucket, la clave de acceso y las claves secretas de los pasos anteriores
Las etiquetas
s3_disk y s3_cache dentro de la etiqueta <disks> son arbitrarias. Se pueden cambiar, pero debe usarse la misma etiqueta en la etiqueta <disk> dentro de la etiqueta <policies> para hacer referencia al disco.
La etiqueta <S3_main> también es arbitraria y corresponde al nombre de la política que se usará como identificador del destino de almacenamiento al crear recursos en ClickHouse.La configuración que se muestra arriba es para ClickHouse 22.8 o versiones posteriores; si usas una versión anterior, consulta la documentación sobre almacenamiento de datos.Para obtener más información sobre el uso de S3:
Guía de Integraciones: MergeTree con respaldo en S3- Actualiza el propietario del archivo al usuario y grupo
clickhouse
- Reinicie la instancia de ClickHouse para que los cambios surtan efecto.
Prueba
- Inicie sesión con el cliente de ClickHouse; por ejemplo:
- Cree una tabla y especifique la nueva política de almacenamiento de S3
- Comprueba que la tabla se haya creado con la política correcta
- Inserte filas de prueba en la tabla
- Ver las filas
- En la consola de AWS, ve a los buckets y selecciona el bucket nuevo y la carpeta. Deberías ver algo parecido a lo siguiente:
Replicar un único segmento entre dos regiones de AWS mediante almacenamiento de objetos en S3
Planifique la implementación
Instalar el software
Nodos del servidor ClickHouse
Desplegar ClickHouse
chnode1 y chnode2.
Coloque chnode1 en una región de AWS y chnode2 en una segunda región.
Desplegar ClickHouse Keeper
keepernode1, keepernode2 y keepernode3. keepernode1 puede desplegarse en la misma región que chnode1, keepernode2 junto con chnode2 y keepernode3 en cualquiera de las dos regiones, pero en una zona de disponibilidad distinta de la del nodo de ClickHouse de esa región.
Consulte las instrucciones de instalación al realizar los pasos de despliegue en los nodos de ClickHouse Keeper.
Crear buckets de S3
chnode1 y chnode2.
Si necesita instrucciones paso a paso para crear buckets y un rol de IAM, expanda Crear buckets de S3 y un rol de IAM y siga los pasos:
Crear buckets de S3 y un usuario de IAM
Crear buckets de S3 y un usuario de IAM
Este artículo muestra los conceptos básicos sobre cómo configurar un usuario de IAM de AWS, crear un bucket de S3 y configurar ClickHouse para utilizarlo como disco S3.
Se recomienda trabajar con el equipo de seguridad para determinar los permisos adecuados, y tomar estos como punto de partida.
















Crear un usuario de IAM de AWS
En los siguientes pasos crearás un usuario de cuenta de servicio (no un usuario de inicio de sesión).- Inicie sesión en la Consola de administración de AWS IAM.
-
En el menú
Users, seleccioneCreate user

- Introduce el nombre de usuario, establece el tipo de credencial en
Access key - Programmatic accessy seleccionaNext: Permissions

- No añadas al usuario a ningún grupo; selecciona
Next: Tags

- Salvo que necesite añadir alguna etiqueta, seleccione
Next: Review

- Selecciona
Create User
El mensaje de advertencia que indica que el usuario no tiene permisos puede ignorarse; en la siguiente sección se le concederán permisos sobre el bucket

- El usuario ya está creado; haz clic en
showy copia la clave de acceso y la clave secreta.
Guarda las claves en otro lugar; esta es la única vez que la clave de acceso secreta estará disponible.

- Haz clic en Cerrar y luego busca al usuario en la pantalla Usuarios.

- Copie el ARN (Amazon Resource Name) y guárdelo para utilizarlo al configurar la política de acceso del bucket.

Crear un bucket de S3
- En la sección del bucket de S3, selecciona
Create bucket

- Introduzca un nombre de bucket y deje el resto de opciones predeterminadas
El nombre del bucket debe ser único en todo AWS, no solo dentro de la organización; de lo contrario, se producirá un error.
- Deje
Block all Public Accessactivado; no es necesario el acceso público.

- Selecciona
Create Bucketal final de la página

- Seleccione el enlace, copie el ARN y guárdelo para usarlo al configurar la política de acceso del bucket.
- Una vez creado el bucket, busque el nuevo bucket de S3 en la lista de buckets de S3 y seleccione el enlace

- Selecciona
Create folder

- Introduzca un nombre para la carpeta que será el destino del disco S3 de ClickHouse y seleccione
Create folder

- La carpeta ahora debería verse en la lista de buckets

- Seleccione la casilla de verificación de la carpeta nueva y haga clic en
Copy URL. Guarde la URL copiada para usarla en la configuración de almacenamiento de ClickHouse en la siguiente sección.

- Seleccione la pestaña
Permissionsy haga clic en el botónEditde la secciónBucket Policy

- Añade una política para el bucket; a continuación se muestra un ejemplo:
Debe colaborar con su equipo de seguridad para determinar los permisos que se utilizarán; considérelos como punto de partida.
Para obtener más información sobre las políticas y la configuración, consulte la documentación de AWS:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html
- Guarde la configuración de la política.
/etc/clickhouse-server/config.d/. A continuación, se muestra un archivo de configuración de ejemplo para un bucket; el otro es similar, salvo por las tres líneas resaltadas:
/etc/clickhouse-server/config.d/storage_config.xml
Muchos de los pasos de esta guía le pedirán que coloque un archivo de configuración en
/etc/clickhouse-server/config.d/. Esta es la ubicación predeterminada en los sistemas Linux para los archivos de sobrescritura de configuración. Cuando coloque estos archivos en ese directorio, ClickHouse usará su contenido para sobrescribir la configuración predeterminada. Al colocar estos archivos en el directorio de sobrescritura, evitará perder su configuración durante una actualización.Configurar ClickHouse Keeper
/etc/clickhouse-keeper/keeper_config.xml. Los tres servidores Keeper usan la misma configuración, con una única diferencia: <server_id>.
server_id indica el ID que se asignará al host donde se use el archivo de configuración. En el ejemplo siguiente, el server_id es 3, y si observa más abajo en el archivo, en la sección <raft_configuration>, verá que el servidor 3 tiene el hostname keepernode3. Así es como el proceso de ClickHouse Keeper sabe a qué otros servidores conectarse al elegir un líder y realizar todas las demás actividades.
/etc/clickhouse-keeper/keeper_config.xml
<server_id>):
Configurar el servidor de ClickHouse
Definir un clúster
<remote_servers> de la configuración. En este ejemplo, se define un clúster, cluster_1S_2R, que consta de un único segmento con dos réplicas. Las réplicas están ubicadas en los hosts chnode1 y chnode2.
/etc/clickhouse-server/config.d/remote-servers.xml
shard y replica. Cuando cree una tabla, podrá ver cómo se usan las macros shard y replica consultando system.tables.
/etc/clickhouse-server/config.d/macros.xml
Las macros anteriores son para
chnode1; en chnode2, configure replica como replica_2.Deshabilitar la replicación zero-copy
allow_remote_fs_zero_copy_replication está establecida en true de forma predeterminada para los discos S3 y HDFS. Para este escenario de recuperación ante desastres, esta configuración debe establecerse en false; a partir de la versión 22.8, ya está establecida en false de forma predeterminada.
Esta configuración debe establecerse en false por dos motivos: 1) esta funcionalidad no está lista para producción; 2) en un escenario de recuperación ante desastres, tanto los datos como los metadatos deben almacenarse en varias regiones. Establezca allow_remote_fs_zero_copy_replication en false.
/etc/clickhouse-server/config.d/remote-servers.xml
/etc/clickhouse-server/config.d/use_keeper.xml
Configurar la red
/etc/clickhouse-server/config.d/. Aquí tienes un ejemplo que configura ClickHouse y ClickHouse Keeper para que escuchen en todas las interfaces IPv4. Consulta la documentación o el archivo de configuración predeterminado /etc/clickhouse/config.xml para obtener más información.
/etc/clickhouse-server/config.d/networking.xml
Iniciar los servidores
Ejecutar ClickHouse Keeper
Comprobar el estado de ClickHouse Keeper
netcat. Por ejemplo, mntr devuelve el estado del clúster de ClickHouse Keeper. Si ejecuta el comando en cada uno de los nodos de Keeper, verá que uno es el leader y los otros dos son followers:
Ejecute el servidor de ClickHouse
Verificar el servidor de ClickHouse
-
Verifique que el clúster exista:
-
Cree una tabla en el clúster usando el engine de tabla
ReplicatedMergeTree: -
Comprenda el uso de las macros definidas anteriormente
Las macros
shardyreplicase definieron anteriormente, y en la línea resaltada a continuación puede ver dónde se sustituyen los valores en cada nodo de ClickHouse. Además, se usa el valoruuid;uuidno está definido en las macros, ya que lo genera el sistema.
Puede personalizar la ruta de ZooKeeper
'clickhouse/tables/{uuid}/{shard} que se muestra arriba configurando default_replica_path y default_replica_name. La documentación está aquí.Pruebas
-
Añada datos del conjunto de datos de taxis de la ciudad de Nueva York:
-
Verifique que los datos estén almacenados en S3.
Esta consulta muestra el tamaño de los datos en disco y la política utilizada para determinar qué disco se usa.
Compruebe el tamaño de los datos en el disco local. Según lo anterior, el tamaño en disco de los millones de filas almacenadas es de 36.42 MiB. Estos datos deberían estar en S3, no en el disco local. La consulta anterior también indica dónde se almacenan los datos y los metadatos en el disco local. Compruebe los datos locales:Compruebe los datos de S3 en cada bucket de S3 (no se muestran los totales, pero ambos buckets tienen aproximadamente 36 MiB almacenados después de las inserciones):
S3Express
S3Express almacena los datos en una única AZ. Esto significa que los datos no estarán disponibles en caso de una caída de la AZ.
Disco S3
- Cree un bucket de tipo
Directory - Aplique una política de bucket adecuada para conceder todos los permisos necesarios a su usuario de S3 (por ejemplo,
"Action": "s3express:*"para permitir acceso sin restricciones) - Al configurar la política de almacenamiento, indique el parámetro
region
Almacenamiento S3
Object URL. Ejemplo: