Code Monkey home page Code Monkey logo

Comments (2)

DyfanJones avatar DyfanJones commented on June 11, 2024

Sorry for the delay on this. I have was fixing a cran issue for paws.common. Here are the accepted parameters for dbConnect when working with noctua: https://dyfanjones.github.io/noctua/reference/dbConnect-AthenaDriver-method.html

noctua should be able to do something fairly similar to odbc:

con <- DBI::dbConnect(
  noctua::athena(),
  s3_staging_dir  = "[your S3 bucket]",
  region_name = "[your AWS region bucket]",
  schema_name = "[your schema's name]",
  aws_access_key_id  = rstudioapi::askForPassword("AWS Access Key"),
  aws_secret_access_key = rstudioapi::askForPassword("AWS Secret Key")
)

You can also turn off rstudio's connection tab, as this slows down the connection.

con <- DBI::dbConnect(
  noctua::athena(),
  s3_staging_dir  = "[your S3 bucket]",
  region_name = "[your AWS region bucket]",
  schema_name = "[your schema's name]",
  aws_access_key_id  = rstudioapi::askForPassword("AWS Access Key"),
  aws_secret_access_key = rstudioapi::askForPassword("AWS Secret Key"),
  rstudio_conn_tab = FALSE
)

If you have any common characteristic between your user base you can set them as environmental variables or in the .aws/config file for example. I.e. they are all using the same AWS Account and thus using the same AWS Region.

region_name would usually stay static (environmental variable: AWS_REGION)
s3_staging_dir would usually stay static (environmental variable: AWS_ATHENA_S3_STAGING_DIR)

con <- DBI::dbConnect(
  noctua::athena(),
  schema_name = "[your schema's name]",
  aws_access_key_id  = rstudioapi::askForPassword("AWS Access Key"),
  aws_secret_access_key = rstudioapi::askForPassword("AWS Secret Key"),
  rstudio_conn_tab = FALSE
)

Another alternative is if you know the Athena work group you are using you could set your s3_staging_dir there and noctua would use that instead.

con <- DBI::dbConnect(
  noctua::athena(),
  schema_name = "[your schema's name]",
  work_group = "[your work group]",
  aws_access_key_id  = rstudioapi::askForPassword("AWS Access Key"),
  aws_secret_access_key = rstudioapi::askForPassword("AWS Secret Key"),
  rstudio_conn_tab = FALSE
)

I hope this helps.

from noctua.

tamuanand avatar tamuanand commented on June 11, 2024

Thanks @DyfanJones for all the great tips.

Some follow-up questions:

  1. Do I need to install noctua and its dependencies on the shiny server?
  2. Do I need any Posit Professional Drivers etc - as mentioned here- https://solutions.posit.co/connections/db/best-practices/drivers/
  3. Do you have some kind of vignette or a tutorial

Thanks

from noctua.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.