2016-06-02 2 views
0

Я очень новичок в MTURKR. Я хочу сказать MTURKR, что мои AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY. Я попытался код ниже, но использовал мои реальные ключи вместо fakekey1 и fakekey2 текста:Сообщите MTURKR AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY

request(operation, GETparameters = NULL, 
    keypair = c(Sys.getenv("fakekey1"), 
       Sys.getenv("fakekey2")), 
    browser = getOption('MTurkR.browser', FALSE), 
    log.requests = getOption('MTurkR.log', TRUE), 
    sandbox = getOption('MTurkR.sandbox', FALSE), 
    verbose = getOption('MTurkR.verbose', TRUE), 
    validation.test = getOption('MTurkR.test', FALSE), 
    service = "AWSMechanicalTurkRequester", 
    version = NULL) 

я получаю эту ошибку: Ошибка в запросе (операция, GETparameters = NULL, пара ключей = с (Sys.getenv (» fakekey1"):. нет пары ключей не предусмотрено Пожалуйста, установите переменные окружения: AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY

+1

Вы установили 'AWS_ACCESS_KEY_ID' и' AWS_SECRET_ACCESS_KEY' в качестве переменной окружения? –

+0

Я бы не назвал 'request()' напрямую. В этом нет необходимости. Какую операцию вы на самом деле пытаетесь выполнить? – Thomas

+0

Я пытаюсь выполнить код на странице https://github.com/leeper/MTurkR/wiki/Circumventing-Batch-Pricing – user2502904

ответ

0

лучший способ установить полномочия является использование переменных окружения (как сообщение об ошибке указывает и, как описано in the installation instructions) в частности, запустите скрипт. :

Sys.setenv(AWS_ACCESS_KEY_ID = "yourkey") 
Sys.setenv(AWS_SECRET_ACCESS_KEY = "yoursecret") 
library("MTurkR") 

, а затем запустите код на этой странице. request() автоматически извлечет вашу пару ключей из этих переменных окружения.

Если по каким-то причинам вы не хотите, чтобы установить переменные окружения, вы можете передать keypair аргумент через ... любой функции MTurkR, например:

AccountBalance(keypair = c("yourkey", "yoursecret")) 

Если вы новичок в R и не знакомы с использование аргумента ... в функциях, вы можете увидеть an explanation of it here.

И, наконец, request() является низкоуровневой функцией, поэтому, вероятно, нет причин называть это напрямую.

+0

Спасибо, Томас! – user2502904

Смежные вопросы