
Esta publicación de blog es parte de una serie de blogs que publiqué sobre @sap/dwc-cli. Encuentre todas las publicaciones de blog relacionadas con este tema en mi publicación de blog general aquí.
La interfaz de línea de comandos (CLI) basada en Node.js para SAP Data Warehouse Cloud, @sap/dwc-cli alojado en npmjs.comle permite interactuar con su arrendatario de SAP Data Warehouse Cloud desde la terminal o la línea de comandos. Desde la versión 2023.1, puede usar la CLI para restablecer y recuperar nuevas contraseñas para los usuarios de la base de datos en su espacio.
Desde el lanzamiento de SAP Data Warehouse Cloud versión 2023.1, ahora puede usar la interfaz de línea de comandos (CLI) de SAP Data Warehouse Cloud para restablecer y recuperar nuevas contraseñas para los usuarios de su base de datos en sus espacios. Esto le permite automatizar por completo el manejo de los usuarios de la base de datos utilizando la CLI para crear, actualizar y eliminar usuarios de la base de datos en su espacio.
En esta publicación de blog, lo guío a través de todos los pasos y destaco el nuevo comando para restablecer y recuperar nuevas contraseñas de usuario de la base de datos.
Antes de comenzar con el primer paso, debe inicializar la memoria caché de la CLI nuevamente, si no lo ha hecho después de implementar la versión 2023.1 en su arrendatario, mediante el inicio de caché dwc dominio. Estoy usando el mecanismo de inicio de sesión basado en el cliente OAuth usando el inicio de sesión de dwc –secrets-file dominio. Configuré el host con el que estoy trabajando globalmente usando el conjunto de host dwc comando, para que no tenga que repetir el host y las credenciales con todos y cada uno de los comandos a lo largo de este blog.
$ dwc host set https://myhost.eu10.hcs.cloud.sap/
$ dwc login --secrets-file /path/to/secrets/file.json
$ dwc cache init
Ejemplo de código 1: actualización de la CLI
Dado que esta es una mejora del lado del servidor solamente, no es necesario que instale una nueva versión del Módulo @sap/dwc-cli de npmjs.com. Puede usar el nuevo comando para restablecer las contraseñas con versiones de @sap/dwc-cli anteriores a 2023.x, por ejemplo, 2022.24.0.
Estoy usando la CLI para crear un espacio con una identificación técnica MI ESPACIO DE EJEMPLO y descripción «Mi espacio de ejemplo» con solo una configuración mínima. Solo especifico dos usuarios de base de datos. MI_FIRST_DB_USUARIO y MI_SECOND_DB_USUARIO en mi espacio y omitir las propiedades opcionales, recurriendo a los valores predeterminados.
{
"MYEXAMPLESPACE": {
"spaceDefinition": {
"version": "1.0.4",
"label": "My Example Space",
"assignedStorage": 0,
"assignedRam": 0,
"members": [
{
"name": "JKANNGIESSER",
"type": "user"
}
],
"dbusers": {
"MYEXAMPLESPACE#MY_FIRST_DB_USER": {
"ingestion": {
"auditing": {
"dppRead": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
},
"dppChange": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
}
}
},
"consumption": {
"localSchemaAccess": true,
"spaceSchemaAccess": true,
"hdiGrantorForCupsAccess": true
}
},
"MYEXAMPLESPACE#MY_SECOND_DB_USER": {
"ingestion": {
"auditing": {
"dppRead": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
},
"dppChange": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
}
}
},
"consumption": {
"localSchemaAccess": true,
"spaceSchemaAccess": true,
"hdiGrantorForCupsAccess": true
}
}
}
}
}
}
Ejemplo de definición de espacio 1
Usando la CLI, puedo crear el espacio usando el crear espacios dwc comando, apuntándolo al archivo de definición de espacio usando el -ruta de archivo opción.
$ dwc spaces create --file-path space.json
Ejemplo de código 2: creación de un nuevo espacio
El espacio fue creado con éxito.
Imagen 1 – Espacio creado con éxito
Además, se han creado los dos usuarios de la base de datos.
Imagen 2: usuarios de la base de datos existente
Después de haber inicializado la CLI nuevamente, encontrará un nuevo comando dbusers al correr dwc.
$ dwc
Usage: dwc [options] [command]
Command-Line Interface for SAP Data Warehouse Cloud.
Options:
-v, --version output the current version
-H, --host <host> specifies the url where the tenant is hosted (optional)
-O, --options-file <file> path to options file (optional)
-h, --help display help for command
Commands:
cache work with the local CLI cache
dbusers [options] manage and orchestrate database users
help [command] display help for command
host configure host properties
login [options] log in to your account using interactive OAuth authentication
logout log out from your account
passcode-url [options] display the passcode url
secrets work with the locally stored secrets
spaces [options] manage and orchestrate spaces
Ejemplo de código 3: nuevo comando dbusers
Profundizando en este nuevo dbusers comando, revela un subcomando contraseña para trabajar con contraseñas.
$ dwc dbusers
Usage: dwc dbusers [options] [command]
manage and orchestrate database users
Options:
-H, --host <host> specifies the url where the tenant is hosted (optional)
-h, --help display help for command
Commands:
password [options] maintain password of database user
help [command] display help for command
Ejemplo de código 4: dwc dbusers
El comando contraseña de dbusers de dwc de nuevo viene con otro subcomando reiniciar.
$ dwc dbusers password
Usage: dwc dbusers password [options] [command]
maintain password of database user
Options:
-H, --host <host> specifies the url where the tenant is hosted (optional)
-h, --help display help for command
Commands:
reset [options] reset password of database user
help [command] display help for command
Ejemplo de código 5: restablecimiento de contraseña de dbusers de dwc
Este comando requiere dos opciones -espacio y –usuario de la base de datos, especificando el ID de espacio y el ID del usuario de la base de datos para el que desea restablecer la contraseña. He eliminado algunas de las opciones predeterminadas para una mejor legibilidad.
$ dwc dbusers password reset --help
Usage: dwc dbusers password reset [options]
reset password of database user
Options:
-P, --pretty pretty-formats JSON responses (optional)
-S, --space <space> space id (optional)
-j, --databaseuser <databaseuser> database user id (optional)
-o, --output <output> specifies the file to store the output of the command (optional)
-h, --help display help for command
Ejemplo de código 6: opciones disponibles para el restablecimiento de contraseña del comando dwc dbusers
Para restablecer y recuperar una nueva contraseña para cualquiera de los usuarios de la base de datos existentes dentro de mi espacio, puedo proporcionar la identificación del espacio y la identificación del usuario de la base de datos directamente como opciones para el comando. yo tambien uso el -bonito opción para dar formato bonito a la respuesta. También podría usar el -producción opción para almacenar la respuesta en un archivo.
$ dwc dbusers password reset --space MYEXAMPLESPACE --databaseuser MYEXAMPLESPACE#MY_FIRST_DB_USER --pretty
{
"password": ")@:Nrga/6eQq,RPg3-05SL9.Z%]dL_WO",
"username": "MYEXAMPLESPACE#MY_FIRST_DB_USER",
"host": "somehost.hana.prod-eu10.hanacloud.ondemand.com",
"port": 443
}
Ejemplo de código 7: restablecer la contraseña de un usuario de la base de datos
Tenga en cuenta: siempre debe especificar el ID de usuario completo de la base de datos como
La CLI también le permite ingresar los valores para el ID de espacio y el ID de usuario de la base de datos de forma interactiva, ejecutando el restablecimiento de contraseña de dbusers de dwc comando de nuevo sin especificar el -espacio y –usuario de la base de datos opciones
$ dwc dbusers password reset --pretty
✔ Provide a value for option space (space id): … MYEXAMPLESPACE
✔ Provide a value for option databaseuser (database user id): … MYEXAMPLESPACE#MY_FIRST_DB_USER
{
"password": "M5|44kP?=9s[6;*=VlRK:/aS4jkJZ@$P",
"username": "MYEXAMPLESPACE#MY_FIRST_DB_USER",
"host": "myhost.hana.prod-eu10.hanacloud.ondemand.com",
"port": 443
}
Ejemplo de código 8: restablecer la contraseña en modo interactivo
Para eliminar cualquier usuario de la base de datos existente nuevamente, envío el archivo de definición de espacio actualizado al inquilino, nuevamente usando el comando crear espacios dwc, eliminando cualquier usuario de la base de datos que desee eliminar. En este ejemplo, estoy eliminando el primero de los dos usuarios. El archivo de definición de espacio actualizado tiene este aspecto.
{
"MYEXAMPLESPACE": {
"spaceDefinition": {
"version": "1.0.4",
"label": "My Example Space",
"assignedStorage": 0,
"assignedRam": 0,
"members": [
{
"name": "JKANNGIESSER",
"type": "user"
}
],
"dbusers": {
"MYEXAMPLESPACE#MY_SECOND_DB_USER": {
"ingestion": {
"auditing": {
"dppRead": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
},
"dppChange": {
"isAuditPolicyActive": false,
"retentionPeriod": 7
}
}
},
"consumption": {
"localSchemaAccess": true,
"spaceSchemaAccess": true,
"hdiGrantorForCupsAccess": true
}
}
}
}
}
}
Definición de Espacio Ejemplo 2
Después de volver a ejecutar el mismo comando del ejemplo de código 2, los usuarios de la base de datos se actualizaron y el primero de los dos usuarios se eliminó correctamente.
Imagen 3 – Sección de acceso a la base de datos actualizada
Estaría encantado de escuchar sus opiniones, ideas y comentarios sobre esta herramienta y lo que cree que sería una mejora agradable para la CLI, que facilitaría su vida y su trabajo con SAP Data Warehouse Cloud. ¡Házmelo saber en los comentarios!
Interfaz de línea de comandos para SAP Data Warehouse Cloud en npmjs.com
Interfaz de línea de comandos para SAP Data Warehouse Cloud en la ayuda de SAP
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073