Столкнулся с подобной проблемой, один из способов, который вы могли бы сделать, это вернуться к version 0.3.900
(это было то, что работало для меня).
В качестве альтернативы вы можете исправить базовый код source
.Загрузите версию github и внесите некоторые изменения перед установкой.
1.скрипт internal.R
функция s3ToRedshift
добавление else if
условие для session
if (nchar(iam_role_arn) > 0) {
credsStr = sprintf("iam_role '%s'", iam_role_arn)
} else if (nchar(session) > 0){
credsStr = sprintf("credentials 'aws_access_key_id=%s;aws_secret_access_key=%s;token=%s'", access_key, secret_key, session)
} else {
# creds string now includes a token in case it is needed.
credsStr = sprintf("credentials 'aws_access_key_id=%s;aws_secret_access_key=%s'", access_key, secret_key)
}
2.скрипт replace.R
функция rs_replace_table
добавить Sys.setenv
После split_files = pmin(split_files, numRows)
добавить следующие строки.
# Set env variables for S3 upload
Sys.setenv(
'AWS_DEFAULT_REGION'=region,
'AWS_ACCESS_KEY_ID'=access_key,
'AWS_SECRET_ACCESS_KEY'=secret_key,
'AWS_IAM_ROLE_ARN'=iam_role_arn
)
Так это будет выглядеть примерно так:
split_files = pmin(split_files, numRows)
# Set env variables for S3 upload
Sys.setenv(
'AWS_DEFAULT_REGION'=region,
'AWS_ACCESS_KEY_ID'=access_key,
'AWS_SECRET_ACCESS_KEY'=secret_key,
'AWS_IAM_ROLE_ARN'=iam_role_arn
)
prefix = uploadToS3(df, bucket, split_files)
Установите это, и rs_create_table
теперь должно работать, хотя другие функции не проверялись.