Amazon Mechanical Turk SDK for Perl
NOTE: Below are four (4) different installation methods:
(1) and (2) should work on Windows. (1), (3), and (4) might work in *nix. Only one of these installation methods must be completed successfully.
Run the command "perl mturk_install.pl" to run the interactive installer. The installer will check module dependencies and try to install them for you. If you run this on ActivePerl it will use the ppm command to install the modules. On other systems it will try to use CPAN.
The interactive installer is provided as a convenience. It may not work on all systems. If the installer uses CPAN, the installation script will be completely dependent on a working CPAN configuration. Some dependent modules (e.g. Digest::HMAC_SHA1) may also require a working C compiler and make utility.
Note on CPAN: If you have not used CPAN before, you may be taken through CPAN configuration which is lengthy.
Note on *nix: You may have issues if you run the installation script as a non-root user. See HELP ME I'M NOT ROOT.
(Module::Build is required for an Windows ActivePerl install)
ppm install LWP
ppm install MIME::Base64
ppm install Digest::HMAC_SHA1
ppm install URI::Escape
ppm install XML::Parser
ppm install Module::Build
ppm install Test::More
ppm install IO::String
ppm install DBI
ppm install DBD::SQLite2
2. Unpack the distribution and go to the distribution directory in a
DOS command line.
3. Run the following commands:
perl Build.PL
Build
Build install
4. Run the following command to configure your MechanicalTurk access keys:
perl -MNet::Amazon::MechanicalTurk::Configurer -e configure
(This command will create a configuration file named mturk.properties
in your user home directory.)
(Example of installing Module::Build) install Module::Build
Note: See the section Required Modules and Optional Modules
at the beginning of this document. You can check to see if a module already exists on your system by typing the command:
perl -M<MODULENAME> -e 1
3. Build and install the MechanicalTurk module using 1 of the following
methods.
Using the traditional perl build process.
perl Makefile.PL
make
make test
make install
Alternatively, to install with Module::Build, you can use the
following commands:
perl Build.PL
./Build
./Build test
./Build install
4. Run the following command to configure your MechanicalTurk
access keys:
perl -MNet::Amazon::MechanicalTurk::Configurer -e configure
(This command will create a configuration file named mturk.properties
in your user home directory.)
So you are on a *nix system and you are not root and you are having problems installing perl modules. You can build and install perl modules into a local directory. You can then set an environment variable PERL5LIB to point to this directory, so your scripts pick up the modules from there.
The following text shows the command it took on a particular system to get the MechanicalTurk module working. Some systems and/or versions of perl may need more or less items installed.
These commands also reference specific versions of modules on CPAN. These are not the required versions. These were just the latest versions present on CPAN at the time this document was originally written.
For any module download url listed, you may check the parent directory for new versions on CPAN.
(Note: This install already had LWP, MIME::Base64, URI::Escape, XML::Parser and DBI. These commands were only for the modules missing.)
You can check to see if you have a module or not by typing the
perl -M<MODULENAME> -e 1
Here are the commands that were needed to run:
mkdir -p $HOME/perl/lib
mkdir -p $HOME/perl/man/man1
mkdir -p $HOME/perl/man/man3
PERL5LIB=$HOME/perl/lib
export PERL5LIB
wget http://www.cpan.org/modules/by-module/Digest/Digest-1.15.tar.gz
gunzip < Digest-1.15.tar.gz | tar xf -
cd Digest-1.15
perl Makefile.PL LIB=$HOME/perl/lib INSTALLMAN1DIR=$HOME/perl/man/man1 INSTALLMAN3DIR=$HOME/perl/man/man3
make
make test
make install
cd ..
wget http://www.cpan.org/modules/by-module/Digest/Digest-SHA1-2.11.tar.gz
gunzip < Digest-SHA1-2.11.tar.gz | tar xf -
cd Digest-SHA1-2.11
perl Makefile.PL LIB=$HOME/perl/lib INSTALLMAN1DIR=$HOME/perl/man/man1 INSTALLMAN3DIR=$HOME/perl/man/man3
make
make test
make install
cd ..
wget http://www.cpan.org/modules/by-module/IO/IO-String-1.08.tar.gz
gunzip < IO-String-1.08.tar.gz | tar xf -
cd IO-String-1.08
perl Makefile.PL LIB=$HOME/perl/lib INSTALLMAN1DIR=$HOME/perl/man/man1 INSTALLMAN3DIR=$HOME/perl/man/man3
make
make test
make install
cd ..
wget http://www.cpan.org/modules/by-module/DBD/DBD-SQLite2-0.33.tar.gz
gunzip < DBD-SQLite2-0.33.tar.gz | tar xf -
cd DBD-SQLite2-0.33
perl Makefile.PL LIB=$HOME/perl/lib INSTALLMAN1DIR=$HOME/perl/man/man1 INSTALLMAN3DIR=$HOME/perl/man/man3
make
make test
make install
cd ..
gunzip -c Net-Amazon-MechanicalTurk-0.01.tar.gz | tar xvf -
cd Net-Amazon-MechanicalTurk-0.01
perl Makefile.PL LIB=$HOME/perl/lib INSTALLMAN1DIR=$HOME/perl/man/man1 INSTALLMAN3DIR=$HOME/perl/man/man3
make
make test
make install
cd ..
The samples directory in this distribution has various scripts, showing how to call the MechanicalTurk API, use the bulk loading features and hooking up a database connection to the bulk loading API.
NOTE: Samples should be run from within their own directories.
After installing, you can find documentation for this module with the perldoc command.
perldoc Net::Amazon::MechanicalTurk
Please see the developer guide for an API reference:
http://docs.amazonwebservices.com/AWSMechanicalTurkRequester/2007-06-21/
You should also configure your access keys for authentication. Run the following command to configure your access keys.
perl -MNet::Amazon::MechanicalTurk::Configurer -e configure
You can also look for information at:
http://requester.mturk.com/mturk/welcome http://developer.amazonwebservices.com/connect/forum.jspa?forumID=11
Copyright (c) 2007 Amazon Technologies, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.