如何在单点登录环境中使用 R AWS 包

问题描述 投票:0回答:1

我在网上搜索过,但找不到使用 aws.translate 等软件包的方法。我的公司使用 SSO 访问 AWS,但无法生成密钥对。我启动了一个 ec2 实例,在其中运行一个包含 R 和 Python 的 docker 文件。相信很多企业用户都面临着类似的问题。有人可以指导如何在 SSO 环境中使用这些 CloudyR 包吗?

我安装了 aws.translate、aws.ec2metadata 和 aws.signature。 use_credentials 找不到 .aws/credentials 文件。 ecs.metadata() 返回 NULL。如果我直接使用翻译功能,我会收到 Bad Request HTTP 400。

r amazon-web-services amazon-ec2
1个回答
0
投票

我设法使用 noctua 包和下面的代码。将带有“your_*”的地方更改为必要的名称。

library(noctua)

Sys.setenv("AWS_PROFILE" = "your_profile",
           "AWS_REGION" = "your_region")

# Define the S3 staging directory name
s3_staging_dir <- "s3://your_s3_staging_directory"

# Connect to Athena 
con <- dbConnect(noctua::athena(),
                 s3_staging_dir = s3_staging_dir)

# Define the SQL query
query <- "
SELECT * FROM \"your_db\".\"your_table\"
LIMIT 100;
"

# Execute the query
result <- dbGetQuery(con, query)
© www.soinside.com 2019 - 2024. All rights reserved.