Semana 30 - Administración

Esta semana analizaremos un reto que va encantar a cualquier vendedor:

La instantánea "database-in-a-box" o una plantilla de uso general:

Queremos ser capaces de utilizar SnowSQL para apuntar hacia este script en el extremo 1, y la instancia de Snowflake de destino en el otro, y crear una base de datos utilizable al instante.

Cree un Script Primario (en un formato a su elección), que cree lo siguiente si se ejecuta :

- 4 bases de datos, denominadas: Development, Testing, Acceptance, y Production

- 1 esquema adicional en cada base de datos (además de Public) llamado security

- 1 esquema adicional en Desarrollo llamado 'dev_user’

- 3 usuarios: security_user, dev_user, regular_user

Los valores por defecto para los usuarios :

contraseña = abc123

Los roles secundarios deben estar habilitados

- 2 roles adicionales llamados dev_role y security_role

- dev_role debe ser capaz de crear y consultar todas las tablas (futuras), vistas y esquemas en cada base de datos, excepto para cambiar cualquier cosa en los esquemas de seguridad.

- security_role debe poder crear y consultar todas las tablas, vistas y esquemas (futuros) de todas las bases de datos.

- dev_user debe tener el dev_role , security_user debe tener el security_role

- el rol public sólo puede consultar Production.Public

- 1 warehouse PEQUEÑO llamado default_wh

Crear un script secundario que tenga lo siguiente :

CREATE TABLE departments(dep_id varchar, dep_name varchar);INSERT INTO departments VALUES(‘d001′,’Marketing’),(‘d002′,’Finance’),(‘d003′,’Human Resources’),(‘d004′,’Production’),(‘d005′,’Development’),(‘d006′,’Quality Management’),(‘d007′,’Sales’),(‘d008′,’Research’),(‘d009′,’Customer Service’);

La database-in-a-box debe llamar a esta secuencia de comandos secundaria si se apunta a la ruta correcta (argumento).

La ruta al script secundario NO debe estar codificada en el script primario.

Puntos extra :

Como desafío adicional, intente crear el mismo script que sea más maleable;

Los valores por defecto como contraseñas, nombres de almacén y nombres de bases de datos son actualmente estáticos pero, ¿puede crear la opción de diferir al valor por defecto si no se da ninguna alternativa?

Recuerda que si deseas participar:

  1. Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral y luego yendo a "REGISTRARSE" (ten en cuenta que unirte a nuestra lista de correo no te proporcionará una cuenta de Frosty Friday).
  2. Publica tu código en GitHub y asegúrate de que sea de acceso público (consulta nuestra guía si no sabes cómo hacerlo).
  3. Publica la URL en los comentarios del desafío.

Si tienes alguna pregunta técnica que te gustaría plantear a la comunidad, puedes hacerlo aquí, en nuestro hilo dedicado a estos retos.

Previous
Previous

Semana 32 – Básico

Next
Next

Semana 29 - Snowpark & Python