Skip to contents

Introdução

O pacote sonata foi desenvolvido para facilitar a extração e a interação com dados do MozART 2.0. Para além das funções utilizadas para chamar dados específicos ao MozART 2.0, sonata fornece funções utilitárias para guardar e recuperar credenciais de forma segura. A utilização de tais ferramentas ajuda a automatizar o fluxo de trabalho analítico e evita a circulação não intencional de credenciais privadas. O artigo abaixo fornece uma explicação passo-a-passo sobre como utilizar o sonata para guardar credenciais encriptadas no seu sistema operativo e usa-los para conectar ao MozART 2.0.

Carregar pacotes

Começaremos o trabalho anexando os pacotes necessários que o fluxo de trabalho exigirá. Estes incluem o pacote sonata e o pacote utilitário glamr da USAID.

library(sonata)
library(glamr)

# Se necessário, instale o `glamr` a partir do código abaixo
# install.packages('glamr', repos = c('https://usaid-oha-si.r-universe.dev', 'https://cloud.r-project.org'))

Gravar credenciais

No código abaixo, criaremos um valor de usuário (definido como “acct_dev”) e, em seguida, passaremos esse valor do usuário para o segundo bloco de código que iniciará as ferramentas internas do RStudio para guardar credenciais no sistema operativo local. Ao executar a função set_account, o usuário será solicitado a definir suas credenciais. Uma vez definidas, essas credenciais podem ser carregadas na sessão do RStudio sem serem visíveis no código do projeto.

# Definir um valor de usuário
acct_dev <- "mysql-example-user"

# Definir credenciais no sistema operativo local
set_account(name = acct_dev, 
            keys = c("host", "port", "username", "password", "dbname"), 
            update = TRUE)

# Carregar credenciais
acct_db <- get_account(name = acct_dev)

Carregar credenciais e conectar

Tendo credenciais encriptadas e guardadas, iremos chamá-las para o ambiente R usando get_account. De daí, estabeleceremos a conexão ao MozART 2.0.

# Definir valor do usuário
acct_dev <- "mysql-example-user"

# Carregar credenciais
acct_db <- get_account(name = acct_dev)

# Criar uma ligação MozART 2.0
con <- mysql_connection(db_name = acct_db$dbname, 
                        db_user = acct_db$username,
                        db_pass = acct_db$password,
                        db_host = acct_db$host,
                        db_port = acct_db$port)

Parabéns! Já temos uma abordagem segura e eficiente para guardar e usar credenciais de MozART 2.0!