€cdocutils.nodes document q)q}q(U nametypesq}q(Xgetting-startedqˆXofficial aws apiqˆXgetting started with botoqNXvirtualenvwrapperq ˆXconfiguring boto credentialsq NXinstalling botoq NXtroubleshooting connectionsq NX next stepsq NXinteracting with aws servicesqNXusing virtual environmentsqNXamazon web servicesqˆXmaking connectionsqNuUsubstitution_defsq}qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUgetting-startedqhUofficial-aws-apiqhUgetting-started-with-botoqh Uvirtualenvwrapperqh Uconfiguring-boto-credentialsqh Uinstalling-botoq h Utroubleshooting-connectionsq!h U next-stepsq"hUinteracting-with-aws-servicesq#hUusing-virtual-environmentsq$hUamazon-web-servicesq%hUmaking-connectionsq&uUchildrenq']q((cdocutils.nodes target q))q*}q+(U rawsourceq,X.. _getting-started:Uparentq-hUsourceq.XE/Users/kyleknap/Documents/GitHub/boto/docs/source/getting_started.rstq/Utagnameq0Utargetq1U attributesq2}q3(Uidsq4]Ubackrefsq5]Udupnamesq6]Uclassesq7]Unamesq8]Urefidq9huUlineq:KUdocumentq;hh']ubcdocutils.nodes section q<)q=}q>(h,Uh-hh.h/Uexpect_referenced_by_nameq?}q@hh*sh0UsectionqAh2}qB(h6]h7]h5]h4]qC(hheh8]qD(hheuh:Kh;hUexpect_referenced_by_idqE}qFhh*sh']qG(cdocutils.nodes title qH)qI}qJ(h,XGetting Started with BotoqKh-h=h.h/h0UtitleqLh2}qM(h6]h7]h5]h4]h8]uh:Kh;hh']qNcdocutils.nodes Text qOXGetting Started with BotoqP…qQ}qR(h,hKh-hIubaubcdocutils.nodes paragraph qS)qT}qU(h,XqThis tutorial will walk you through installing and configuring ``boto``, as well how to use it to make API calls.h-h=h.h/h0U paragraphqVh2}qW(h6]h7]h5]h4]h8]uh:Kh;hh']qX(hOX?This tutorial will walk you through installing and configuring qY…qZ}q[(h,X?This tutorial will walk you through installing and configuring h-hTubcdocutils.nodes literal q\)q]}q^(h,X``boto``h2}q_(h6]h7]h5]h4]h8]uh-hTh']q`hOXbotoqa…qb}qc(h,Uh-h]ubah0UliteralqdubhOX*, as well how to use it to make API calls.qe…qf}qg(h,X*, as well how to use it to make API calls.h-hTubeubhS)qh}qi(h,XÖThis tutorial assumes you are familiar with Python & that you have registered for an `Amazon Web Services`_ account. You'll need retrieve your ``Access Key ID`` and ``Secret Access Key`` from the web-based console.h-h=h.h/h0hVh2}qj(h6]h7]h5]h4]h8]uh:K h;hh']qk(hOXUThis tutorial assumes you are familiar with Python & that you have registered for an ql…qm}qn(h,XUThis tutorial assumes you are familiar with Python & that you have registered for an h-hhubcdocutils.nodes reference qo)qp}qq(h,X`Amazon Web Services`_UresolvedqrKh-hhh0U referenceqsh2}qt(UnameXAmazon Web ServicesUrefuriquXhttps://aws.amazon.com/qvh4]h5]h6]h7]h8]uh']qwhOXAmazon Web Servicesqx…qy}qz(h,Uh-hpubaubhOX$ account. You'll need retrieve your q{…q|}q}(h,X$ account. You'll need retrieve your h-hhubh\)q~}q(h,X``Access Key ID``h2}q€(h6]h7]h5]h4]h8]uh-hhh']qhOX Access Key IDq‚…qƒ}q„(h,Uh-h~ubah0hdubhOX and q……q†}q‡(h,X and h-hhubh\)qˆ}q‰(h,X``Secret Access Key``h2}qŠ(h6]h7]h5]h4]h8]uh-hhh']q‹hOXSecret Access KeyqŒ…q}qŽ(h,Uh-hˆubah0hdubhOX from the web-based console.q…q}q‘(h,X from the web-based console.h-hhubeubh))q’}q“(h,X2.. _`Amazon Web Services`: https://aws.amazon.com/U referencedq”Kh-h=h.h/h0h1h2}q•(huhvh4]q–h%ah5]h6]h7]h8]q—hauh:Kh;hh']ubh<)q˜}q™(h,Uh-h=h.h/h0hAh2}qš(h6]h7]h5]h4]q›h ah8]qœh auh:Kh;hh']q(hH)qž}qŸ(h,XInstalling Botoq h-h˜h.h/h0hLh2}q¡(h6]h7]h5]h4]h8]uh:Kh;hh']q¢hOXInstalling Botoq£…q¤}q¥(h,h h-hžubaubhS)q¦}q§(h,XHYou can use ``pip`` to install the latest released version of ``boto``::q¨h-h˜h.h/h0hVh2}q©(h6]h7]h5]h4]h8]uh:Kh;hh']qª(hOX You can use q«…q¬}q­(h,X You can use h-h¦ubh\)q®}q¯(h,X``pip``h2}q°(h6]h7]h5]h4]h8]uh-h¦h']q±hOXpipq²…q³}q´(h,Uh-h®ubah0hdubhOX+ to install the latest released version of qµ…q¶}q·(h,X+ to install the latest released version of h-h¦ubh\)q¸}q¹(h,X``boto``h2}qº(h6]h7]h5]h4]h8]uh-h¦h']q»hOXbotoq¼…q½}q¾(h,Uh-h¸ubah0hdubhOX:…q¿}qÀ(h,X:h-h¦ubeubcdocutils.nodes literal_block qÁ)qÂ}qÃ(h,Xpip install botoh-h˜h.h/h0U literal_blockqÄh2}qÅ(U xml:spaceqÆUpreserveqÇh4]h5]h6]h7]h8]uh:Kh;hh']qÈhOXpip install botoqÉ…qÊ}qË(h,Uh-hÂubaubhS)qÌ}qÍ(h,X-If you want to install ``boto`` from source::qÎh-h˜h.h/h0hVh2}qÏ(h6]h7]h5]h4]h8]uh:Kh;hh']qÐ(hOXIf you want to install qÑ…qÒ}qÓ(h,XIf you want to install h-hÌubh\)qÔ}qÕ(h,X``boto``h2}qÖ(h6]h7]h5]h4]h8]uh-hÌh']q×hOXbotoqØ…qÙ}qÚ(h,Uh-hÔubah0hdubhOX from source:qÛ…qÜ}qÝ(h,X from source:h-hÌubeubhÁ)qÞ}qß(h,XHgit clone git://github.com/boto/boto.git cd boto python setup.py installh-h˜h.h/h0hÄh2}qà(hÆhÇh4]h5]h6]h7]h8]uh:Kh;hh']qáhOXHgit clone git://github.com/boto/boto.git cd boto python setup.py installqâ…qã}qä(h,Uh-hÞubaubcdocutils.nodes note qå)qæ}qç(h,XcFor most services, this is enough to get going. However, to support everything Boto ships with, you should additionally run ``pip install -r requirements.txt``. This installs all additional, non-stdlib modules, enabling use of things like ``boto.cloudsearch``, ``boto.manage`` & ``boto.mashups``, as well as covering everything needed for the test suite.h-h˜h.h/h0Unoteqèh2}qé(h6]h7]h5]h4]h8]uh:Nh;hh']qê(hS)që}qì(h,X For most services, this is enough to get going. However, to support everything Boto ships with, you should additionally run ``pip install -r requirements.txt``.h-hæh.h/h0hVh2}qí(h6]h7]h5]h4]h8]uh:K h']qî(hOX|For most services, this is enough to get going. However, to support everything Boto ships with, you should additionally run qï…qð}qñ(h,X|For most services, this is enough to get going. However, to support everything Boto ships with, you should additionally run h-hëubh\)qò}qó(h,X#``pip install -r requirements.txt``h2}qô(h6]h7]h5]h4]h8]uh-hëh']qõhOXpip install -r requirements.txtqö…q÷}qø(h,Uh-hòubah0hdubhOX.…qù}qú(h,X.h-hëubeubhS)qû}qü(h,XÁThis installs all additional, non-stdlib modules, enabling use of things like ``boto.cloudsearch``, ``boto.manage`` & ``boto.mashups``, as well as covering everything needed for the test suite.h-hæh.h/h0hVh2}qý(h6]h7]h5]h4]h8]uh:K$h']qþ(hOXNThis installs all additional, non-stdlib modules, enabling use of things like qÿ…r}r(h,XNThis installs all additional, non-stdlib modules, enabling use of things like h-hûubh\)r}r(h,X``boto.cloudsearch``h2}r(h6]h7]h5]h4]h8]uh-hûh']rhOXboto.cloudsearchr…r}r(h,Uh-jubah0hdubhOX, r …r }r (h,X, h-hûubh\)r }r (h,X``boto.manage``h2}r(h6]h7]h5]h4]h8]uh-hûh']rhOX boto.manager…r}r(h,Uh-j ubah0hdubhOX & r…r}r(h,X & h-hûubh\)r}r(h,X``boto.mashups``h2}r(h6]h7]h5]h4]h8]uh-hûh']rhOX boto.mashupsr…r}r(h,Uh-jubah0hdubhOX;, as well as covering everything needed for the test suite.r…r}r(h,X;, as well as covering everything needed for the test suite.h-hûubeubeubeubh<)r }r!(h,Uh-h=h.h/h0hAh2}r"(h6]h7]h5]h4]r#h$ah8]r$hauh:K*h;hh']r%(hH)r&}r'(h,XUsing Virtual Environmentsr(h-j h.h/h0hLh2}r)(h6]h7]h5]h4]h8]uh:K*h;hh']r*hOXUsing Virtual Environmentsr+…r,}r-(h,j(h-j&ubaubhS)r.}r/(h,X›Another common way to install ``boto`` is to use a ``virtualenv``, which provides isolated environments. First, install the ``virtualenv`` Python package::h-j h.h/h0hVh2}r0(h6]h7]h5]h4]h8]uh:K,h;hh']r1(hOXAnother common way to install r2…r3}r4(h,XAnother common way to install h-j.ubh\)r5}r6(h,X``boto``h2}r7(h6]h7]h5]h4]h8]uh-j.h']r8hOXbotor9…r:}r;(h,Uh-j5ubah0hdubhOX is to use a r<…r=}r>(h,X is to use a h-j.ubh\)r?}r@(h,X``virtualenv``h2}rA(h6]h7]h5]h4]h8]uh-j.h']rBhOX virtualenvrC…rD}rE(h,Uh-j?ubah0hdubhOX;, which provides isolated environments. First, install the rF…rG}rH(h,X;, which provides isolated environments. First, install the h-j.ubh\)rI}rJ(h,X``virtualenv``h2}rK(h6]h7]h5]h4]h8]uh-j.h']rLhOX virtualenvrM…rN}rO(h,Uh-jIubah0hdubhOX Python package:rP…rQ}rR(h,X Python package:h-j.ubeubhÁ)rS}rT(h,Xpip install virtualenvh-j h.h/h0hÄh2}rU(hÆhÇh4]h5]h6]h7]h8]uh:K0h;hh']rVhOXpip install virtualenvrW…rX}rY(h,Uh-jSubaubhS)rZ}r[(h,XõNext, create a virtual environment by using the ``virtualenv`` command and specifying where you want the virtualenv to be created (you can specify any directory you like, though this example allows for compatibility with ``virtualenvwrapper``)::h-j h.h/h0hVh2}r\(h6]h7]h5]h4]h8]uh:K2h;hh']r](hOX0Next, create a virtual environment by using the r^…r_}r`(h,X0Next, create a virtual environment by using the h-jZubh\)ra}rb(h,X``virtualenv``h2}rc(h6]h7]h5]h4]h8]uh-jZh']rdhOX virtualenvre…rf}rg(h,Uh-jaubah0hdubhOXŸ command and specifying where you want the virtualenv to be created (you can specify any directory you like, though this example allows for compatibility with rh…ri}rj(h,XŸ command and specifying where you want the virtualenv to be created (you can specify any directory you like, though this example allows for compatibility with h-jZubh\)rk}rl(h,X``virtualenvwrapper``h2}rm(h6]h7]h5]h4]h8]uh-jZh']rnhOXvirtualenvwrapperro…rp}rq(h,Uh-jkubah0hdubhOX):rr…rs}rt(h,X):h-jZubeubhÁ)ru}rv(h,X3mkdir ~/.virtualenvs virtualenv ~/.virtualenvs/botoh-j h.h/h0hÄh2}rw(hÆhÇh4]h5]h6]h7]h8]uh:K7h;hh']rxhOX3mkdir ~/.virtualenvs virtualenv ~/.virtualenvs/botory…rz}r{(h,Uh-juubaubhS)r|}r}(h,X.You can now activate the virtual environment::r~h-j h.h/h0hVh2}r(h6]h7]h5]h4]h8]uh:K:h;hh']r€hOX-You can now activate the virtual environment:r…r‚}rƒ(h,X-You can now activate the virtual environment:h-j|ubaubhÁ)r„}r…(h,X'source ~/.virtualenvs/boto/bin/activateh-j h.h/h0hÄh2}r†(hÆhÇh4]h5]h6]h7]h8]uh:Kh;hh']rŽ(hOXNow, any usage of r…r}r‘(h,XNow, any usage of h-j‹ubh\)r’}r“(h,X ``python``h2}r”(h6]h7]h5]h4]h8]uh-j‹h']r•hOXpythonr–…r—}r˜(h,Uh-j’ubah0hdubhOX or r™…rš}r›(h,X or h-j‹ubh\)rœ}r(h,X``pip``h2}rž(h6]h7]h5]h4]h8]uh-j‹h']rŸhOXpipr …r¡}r¢(h,Uh-jœubah0hdubhOX] (within the current shell) will default to the new, isolated version within your virtualenv.r£…r¤}r¥(h,X] (within the current shell) will default to the new, isolated version within your virtualenv.h-j‹ubeubhS)r¦}r§(h,X<You can now install ``boto`` into this virtual environment::r¨h-j h.h/h0hVh2}r©(h6]h7]h5]h4]h8]uh:KAh;hh']rª(hOXYou can now install r«…r¬}r­(h,XYou can now install h-j¦ubh\)r®}r¯(h,X``boto``h2}r°(h6]h7]h5]h4]h8]uh-j¦h']r±hOXbotor²…r³}r´(h,Uh-j®ubah0hdubhOX into this virtual environment:rµ…r¶}r·(h,X into this virtual environment:h-j¦ubeubhÁ)r¸}r¹(h,Xpip install botoh-j h.h/h0hÄh2}rº(hÆhÇh4]h5]h6]h7]h8]uh:KCh;hh']r»hOXpip install botor¼…r½}r¾(h,Uh-j¸ubaubhS)r¿}rÀ(h,XOWhen you are done using ``boto``, you can deactivate your virtual environment::rÁh-j h.h/h0hVh2}rÂ(h6]h7]h5]h4]h8]uh:KEh;hh']rÃ(hOXWhen you are done using rÄ…rÅ}rÆ(h,XWhen you are done using h-j¿ubh\)rÇ}rÈ(h,X``boto``h2}rÉ(h6]h7]h5]h4]h8]uh-j¿h']rÊhOXbotorË…rÌ}rÍ(h,Uh-jÇubah0hdubhOX., you can deactivate your virtual environment:rÎ…rÏ}rÐ(h,X., you can deactivate your virtual environment:h-j¿ubeubhÁ)rÑ}rÒ(h,X deactivateh-j h.h/h0hÄh2}rÓ(hÆhÇh4]h5]h6]h7]h8]uh:KGh;hh']rÔhOX deactivaterÕ…rÖ}r×(h,Uh-jÑubaubhS)rØ}rÙ(h,X“If you are creating a lot of virtual environments, `virtualenvwrapper`_ is an excellent tool that lets you easily manage your virtual environments.h-j h.h/h0hVh2}rÚ(h6]h7]h5]h4]h8]uh:KIh;hh']rÛ(hOX3If you are creating a lot of virtual environments, rÜ…rÝ}rÞ(h,X3If you are creating a lot of virtual environments, h-jØubho)rß}rà(h,X`virtualenvwrapper`_hrKh-jØh0hsh2}rá(UnameXvirtualenvwrapperrâhuX3http://virtualenvwrapper.readthedocs.org/en/latest/rãh4]h5]h6]h7]h8]uh']rähOXvirtualenvwrapperrå…ræ}rç(h,Uh-jßubaubhOXL is an excellent tool that lets you easily manage your virtual environments.rè…ré}rê(h,XL is an excellent tool that lets you easily manage your virtual environments.h-jØubeubh))rë}rì(h,XL.. _`virtualenvwrapper`: http://virtualenvwrapper.readthedocs.org/en/latest/h”Kh-j h.h/h0h1h2}rí(hujãh4]rîhah5]h6]h7]h8]rïh auh:KLh;hh']ubeubh<)rð}rñ(h,Uh-h=h.h/h0hAh2}rò(h6]h7]h5]h4]róhah8]rôh auh:KPh;hh']rõ(hH)rö}r÷(h,XConfiguring Boto Credentialsrøh-jðh.h/h0hLh2}rù(h6]h7]h5]h4]h8]uh:KPh;hh']rúhOXConfiguring Boto Credentialsrû…rü}rý(h,jøh-jöubaubhS)rþ}rÿ(h,X¼You have a few options for configuring ``boto`` (see :doc:`boto_config_tut`). For this tutorial, we'll be using a configuration file. First, create a ``~/.boto`` file with these contents::h-jðh.h/h0hVh2}r(h6]h7]h5]h4]h8]uh:KRh;hh']r(hOX'You have a few options for configuring r…r}r(h,X'You have a few options for configuring h-jþubh\)r}r(h,X``boto``h2}r(h6]h7]h5]h4]h8]uh-jþh']rhOXbotor …r }r (h,Uh-jubah0hdubhOX (see r …r }r(h,X (see h-jþubcsphinx.addnodes pending_xref r)r}r(h,X:doc:`boto_config_tut`rh-jþh.h/h0U pending_xrefrh2}r(UreftypeXdocrUrefwarnrˆU reftargetrXboto_config_tutU refdomainUh4]h5]U refexplicit‰h6]h7]h8]UrefdocrXgetting_startedruh:KRh']rh\)r}r(h,jh2}r(h6]h7]r(Uxrefrjeh5]h4]h8]uh-jh']r hOXboto_config_tutr!…r"}r#(h,Uh-jubah0hdubaubhOXK). For this tutorial, we'll be using a configuration file. First, create a r$…r%}r&(h,XK). For this tutorial, we'll be using a configuration file. First, create a h-jþubh\)r'}r((h,X ``~/.boto``h2}r)(h6]h7]h5]h4]h8]uh-jþh']r*hOX~/.botor+…r,}r-(h,Uh-j'ubah0hdubhOX file with these contents:r.…r/}r0(h,X file with these contents:h-jþubeubhÁ)r1}r2(h,XU[Credentials] aws_access_key_id = YOURACCESSKEY aws_secret_access_key = YOURSECRETKEYh-jðh.h/h0hÄh2}r3(hÆhÇh4]h5]h6]h7]h8]uh:KVh;hh']r4hOXU[Credentials] aws_access_key_id = YOURACCESSKEY aws_secret_access_key = YOURSECRETKEYr5…r6}r7(h,Uh-j1ubaubhS)r8}r9(h,X¸``boto`` supports a number of configuration values. For more information, see :doc:`boto_config_tut`. The above file, however, is all we need for now. You're now ready to use ``boto``.h-jðh.h/h0hVh2}r:(h6]h7]h5]h4]h8]uh:KZh;hh']r;(h\)r<}r=(h,X``boto``h2}r>(h6]h7]h5]h4]h8]uh-j8h']r?hOXbotor@…rA}rB(h,Uh-j<ubah0hdubhOXF supports a number of configuration values. For more information, see rC…rD}rE(h,XF supports a number of configuration values. For more information, see h-j8ubj)rF}rG(h,X:doc:`boto_config_tut`rHh-j8h.h/h0jh2}rI(UreftypeXdocrJjˆjXboto_config_tutU refdomainUh4]h5]U refexplicit‰h6]h7]h8]jjuh:KZh']rKh\)rL}rM(h,jHh2}rN(h6]h7]rO(jjJeh5]h4]h8]uh-jFh']rPhOXboto_config_tutrQ…rR}rS(h,Uh-jLubah0hdubaubhOXK. The above file, however, is all we need for now. You're now ready to use rT…rU}rV(h,XK. The above file, however, is all we need for now. You're now ready to use h-j8ubh\)rW}rX(h,X``boto``h2}rY(h6]h7]h5]h4]h8]uh-j8h']rZhOXbotor[…r\}r](h,Uh-jWubah0hdubhOX.…r^}r_(h,X.h-j8ubeubeubh<)r`}ra(h,Uh-h=h.h/h0hAh2}rb(h6]h7]h5]h4]rch&ah8]rdhauh:K`h;hh']re(hH)rf}rg(h,XMaking Connectionsrhh-j`h.h/h0hLh2}ri(h6]h7]h5]h4]h8]uh:K`h;hh']rjhOXMaking Connectionsrk…rl}rm(h,jhh-jfubaubhS)rn}ro(h,X„``boto`` provides a number of convenience functions to simplify connecting to a service. For example, to work with S3, you can run::h-j`h.h/h0hVh2}rp(h6]h7]h5]h4]h8]uh:Kbh;hh']rq(h\)rr}rs(h,X``boto``h2}rt(h6]h7]h5]h4]h8]uh-jnh']ruhOXbotorv…rw}rx(h,Uh-jrubah0hdubhOX{ provides a number of convenience functions to simplify connecting to a service. For example, to work with S3, you can run:ry…rz}r{(h,X{ provides a number of convenience functions to simplify connecting to a service. For example, to work with S3, you can run:h-jnubeubhÁ)r|}r}(h,X*>>> import boto >>> s3 = boto.connect_s3()h-j`h.h/h0hÄh2}r~(hÆhÇh4]h5]h6]h7]h8]uh:Keh;hh']rhOX*>>> import boto >>> s3 = boto.connect_s3()r€…r}r‚(h,Uh-j|ubaubhS)rƒ}r„(h,XÒIf you want to connect to a different region, you can import the service module and use the ``connect_to_region`` functions. For example, to create an EC2 client in 'us-west-2' region, you'd run the following::h-j`h.h/h0hVh2}r…(h6]h7]h5]h4]h8]uh:Khh;hh']r†(hOX\If you want to connect to a different region, you can import the service module and use the r‡…rˆ}r‰(h,X\If you want to connect to a different region, you can import the service module and use the h-jƒubh\)rŠ}r‹(h,X``connect_to_region``h2}rŒ(h6]h7]h5]h4]h8]uh-jƒh']rhOXconnect_to_regionrŽ…r}r(h,Uh-jŠubah0hdubhOX` functions. For example, to create an EC2 client in 'us-west-2' region, you'd run the following:r‘…r’}r“(h,X` functions. For example, to create an EC2 client in 'us-west-2' region, you'd run the following:h-jƒubeubhÁ)r”}r•(h,XE>>> import boto.ec2 >>> ec2 = boto.ec2.connect_to_region('us-west-2')h-j`h.h/h0hÄh2}r–(hÆhÇh4]h5]h6]h7]h8]uh:Klh;hh']r—hOXE>>> import boto.ec2 >>> ec2 = boto.ec2.connect_to_region('us-west-2')r˜…r™}rš(h,Uh-j”ubaubeubh<)r›}rœ(h,Uh-h=h.h/h0hAh2}r(h6]h7]h5]h4]ržh!ah8]rŸh auh:Kqh;hh']r (hH)r¡}r¢(h,XTroubleshooting Connectionsr£h-j›h.h/h0hLh2}r¤(h6]h7]h5]h4]h8]uh:Kqh;hh']r¥hOXTroubleshooting Connectionsr¦…r§}r¨(h,j£h-j¡ubaubhS)r©}rª(h,XYWhen calling the various ``connect_*`` functions, you might run into an error like this::h-j›h.h/h0hVh2}r«(h6]h7]h5]h4]h8]uh:Ksh;hh']r¬(hOXWhen calling the various r­…r®}r¯(h,XWhen calling the various h-j©ubh\)r°}r±(h,X ``connect_*``h2}r²(h6]h7]h5]h4]h8]uh-j©h']r³hOX connect_*r´…rµ}r¶(h,Uh-j°ubah0hdubhOX2 functions, you might run into an error like this:r·…r¸}r¹(h,X2 functions, you might run into an error like this:h-j©ubeubhÁ)rº}r»(h,X¾>>> import boto >>> s3 = boto.connect_s3() Traceback (most recent call last): File "", line 1, in File "boto/__init__.py", line 121, in connect_s3 return S3Connection(aws_access_key_id, aws_secret_access_key, **kwargs) File "boto/s3/connection.py", line 171, in __init__ validate_certs=validate_certs) File "boto/connection.py", line 548, in __init__ host, config, self.provider, self._required_auth_capability()) File "boto/auth.py", line 668, in get_auth_handler 'Check your credentials' % (len(names), str(names))) boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentialsh-j›h.h/h0hÄh2}r¼(hÆhÇh4]h5]h6]h7]h8]uh:Kvh;hh']r½hOX¾>>> import boto >>> s3 = boto.connect_s3() Traceback (most recent call last): File "", line 1, in File "boto/__init__.py", line 121, in connect_s3 return S3Connection(aws_access_key_id, aws_secret_access_key, **kwargs) File "boto/s3/connection.py", line 171, in __init__ validate_certs=validate_certs) File "boto/connection.py", line 548, in __init__ host, config, self.provider, self._required_auth_capability()) File "boto/auth.py", line 668, in get_auth_handler 'Check your credentials' % (len(names), str(names))) boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentialsr¾…r¿}rÀ(h,Uh-jºubaubhS)rÁ}rÂ(h,XÎThis is because ``boto`` cannot find credentials to use. Verify that you have created a ``~/.boto`` file as shown above. You can also turn on debug logging to verify where your credentials are coming from::h-j›h.h/h0hVh2}rÃ(h6]h7]h5]h4]h8]uh:K„h;hh']rÄ(hOXThis is because rÅ…rÆ}rÇ(h,XThis is because h-jÁubh\)rÈ}rÉ(h,X``boto``h2}rÊ(h6]h7]h5]h4]h8]uh-jÁh']rËhOXbotorÌ…rÍ}rÎ(h,Uh-jÈubah0hdubhOX@ cannot find credentials to use. Verify that you have created a rÏ…rÐ}rÑ(h,X@ cannot find credentials to use. Verify that you have created a h-jÁubh\)rÒ}rÓ(h,X ``~/.boto``h2}rÔ(h6]h7]h5]h4]h8]uh-jÁh']rÕhOX~/.botorÖ…r×}rØ(h,Uh-jÒubah0hdubhOXj file as shown above. You can also turn on debug logging to verify where your credentials are coming from:rÙ…rÚ}rÛ(h,Xj file as shown above. You can also turn on debug logging to verify where your credentials are coming from:h-jÁubeubhÁ)rÜ}rÝ(h,Xå>>> import boto >>> boto.set_stream_logger('boto') >>> s3 = boto.connect_s3() 2012-12-10 17:15:03,799 boto [DEBUG]:Using access key found in config file. 2012-12-10 17:15:03,799 boto [DEBUG]:Using secret key found in config file.h-j›h.h/h0hÄh2}rÞ(hÆhÇh4]h5]h6]h7]h8]uh:Kˆh;hh']rßhOXå>>> import boto >>> boto.set_stream_logger('boto') >>> s3 = boto.connect_s3() 2012-12-10 17:15:03,799 boto [DEBUG]:Using access key found in config file. 2012-12-10 17:15:03,799 boto [DEBUG]:Using secret key found in config file.rà…rá}râ(h,Uh-jÜubaubeubh<)rã}rä(h,Uh-h=h.h/h0hAh2}rå(h6]h7]h5]h4]ræh#ah8]rçhauh:Kh;hh']rè(hH)ré}rê(h,XInteracting with AWS Servicesrëh-jãh.h/h0hLh2}rì(h6]h7]h5]h4]h8]uh:Kh;hh']ríhOXInteracting with AWS Servicesrî…rï}rð(h,jëh-jéubaubhS)rñ}rò(h,XæOnce you have a client for the specific service you want, there are methods on that object that will invoke API operations for that service. The following code demonstrates how to create a bucket and put an object in that bucket::h-jãh.h/h0hVh2}ró(h6]h7]h5]h4]h8]uh:K’h;hh']rôhOXåOnce you have a client for the specific service you want, there are methods on that object that will invoke API operations for that service. The following code demonstrates how to create a bucket and put an object in that bucket:rõ…rö}r÷(h,XåOnce you have a client for the specific service you want, there are methods on that object that will invoke API operations for that service. The following code demonstrates how to create a bucket and put an object in that bucket:h-jñubaubhÁ)rø}rù(h,XA>>> import boto >>> import time >>> s3 = boto.connect_s3() # Create a new bucket. Buckets must have a globally unique name (not just # unique to your account). >>> bucket = s3.create_bucket('boto-demo-%s' % int(time.time())) # Create a new key/value pair. >>> key = bucket.new_key('mykey') >>> key.set_contents_from_string("Hello World!") # Sleep to ensure the data is eventually there. >>> time.sleep(2) # Retrieve the contents of ``mykey``. >>> print key.get_contents_as_string() 'Hello World!' # Delete the key. >>> key.delete() # Delete the bucket. >>> bucket.delete()h-jãh.h/h0hÄh2}rú(hÆhÇh4]h5]h6]h7]h8]uh:K–h;hh']rûhOXA>>> import boto >>> import time >>> s3 = boto.connect_s3() # Create a new bucket. Buckets must have a globally unique name (not just # unique to your account). >>> bucket = s3.create_bucket('boto-demo-%s' % int(time.time())) # Create a new key/value pair. >>> key = bucket.new_key('mykey') >>> key.set_contents_from_string("Hello World!") # Sleep to ensure the data is eventually there. >>> time.sleep(2) # Retrieve the contents of ``mykey``. >>> print key.get_contents_as_string() 'Hello World!' # Delete the key. >>> key.delete() # Delete the bucket. >>> bucket.delete()rü…rý}rþ(h,Uh-jøubaubhS)rÿ}r(h,XÂEach service supports a different set of commands. You'll want to refer to the other guides & API references in this documentation, as well as referring to the `official AWS API`_ documentation.h-jãh.h/h0hVh2}r(h6]h7]h5]h4]h8]uh:K®h;hh']r(hOX Each service supports a different set of commands. You'll want to refer to the other guides & API references in this documentation, as well as referring to the r…r}r(h,X Each service supports a different set of commands. You'll want to refer to the other guides & API references in this documentation, as well as referring to the h-jÿubho)r}r(h,X`official AWS API`_hrKh-jÿh0hsh2}r(UnameXofficial AWS APIhuX%https://aws.amazon.com/documentation/r h4]h5]h6]h7]h8]uh']r hOXofficial AWS APIr …r }r (h,Uh-jubaubhOX documentation.r…r}r(h,X documentation.h-jÿubeubh))r}r(h,X=.. _`official AWS API`: https://aws.amazon.com/documentation/h”Kh-jãh.h/h0h1h2}r(huj h4]rhah5]h6]h7]h8]rhauh:K²h;hh']ubeubh<)r}r(h,Uh-h=h.h/h0hAh2}r(h6]h7]h5]h4]rh"ah8]rh auh:Kµh;hh']r(hH)r}r(h,X Next Stepsrh-jh.h/h0hLh2}r(h6]h7]h5]h4]h8]uh:Kµh;hh']r hOX Next Stepsr!…r"}r#(h,jh-jubaubhS)r$}r%(h,XWFor many of the services that ``boto`` supports, there are tutorials as well as detailed API documentation. If you are interested in a specific service, the tutorial for the service is a good starting point. For instance, if you'd like more information on S3, check out the :ref:`S3 Tutorial ` and the :doc:`S3 API reference `.h-jh.h/h0hVh2}r&(h6]h7]h5]h4]h8]uh:K·h;hh']r'(hOXFor many of the services that r(…r)}r*(h,XFor many of the services that h-j$ubh\)r+}r,(h,X``boto``h2}r-(h6]h7]h5]h4]h8]uh-j$h']r.hOXbotor/…r0}r1(h,Uh-j+ubah0hdubhOXì supports, there are tutorials as well as detailed API documentation. If you are interested in a specific service, the tutorial for the service is a good starting point. For instance, if you'd like more information on S3, check out the r2…r3}r4(h,Xì supports, there are tutorials as well as detailed API documentation. If you are interested in a specific service, the tutorial for the service is a good starting point. For instance, if you'd like more information on S3, check out the h-j$ubj)r5}r6(h,X:ref:`S3 Tutorial `r7h-j$h.h/h0jh2}r8(UreftypeXrefjˆjXs3_tutU refdomainXstdr9h4]h5]U refexplicitˆh6]h7]h8]jjuh:K·h']r:cdocutils.nodes emphasis r;)r<}r=(h,j7h2}r>(h6]h7]r?(jj9Xstd-refr@eh5]h4]h8]uh-j5h']rAhOX S3 TutorialrB…rC}rD(h,Uh-j<ubah0UemphasisrEubaubhOX and the rF…rG}rH(h,X and the h-j$ubj)rI}rJ(h,X :doc:`S3 API reference `rKh-j$h.h/h0jh2}rL(UreftypeXdocrMjˆjXref/s3U refdomainUh4]h5]U refexplicitˆh6]h7]h8]jjuh:K·h']rNh\)rO}rP(h,jKh2}rQ(h6]h7]rR(jjMeh5]h4]h8]uh-jIh']rShOXS3 API referencerT…rU}rV(h,Uh-jOubah0hdubaubhOX.…rW}rX(h,X.h-j$ubeubeubeubeh,UU transformerrYNU footnote_refsrZ}r[Urefnamesr\}r](Xofficial aws api]r^jajâ]r_jßaXamazon web services]r`hpauUsymbol_footnotesra]rbUautofootnote_refsrc]rdUsymbol_footnote_refsre]rfU citationsrg]rhh;hU current_lineriNUtransform_messagesrj]rkcdocutils.nodes system_message rl)rm}rn(h,Uh2}ro(h6]UlevelKh4]h5]Usourceh/h7]h8]UlineKUtypeUINFOrpuh']rqhS)rr}rs(h,Uh2}rt(h6]h7]h5]h4]h8]uh-jmh']ruhOX5Hyperlink target "getting-started" is not referenced.rv…rw}rx(h,Uh-jrubah0hVubah0Usystem_messageryubaUreporterrzNUid_startr{KU autofootnotesr|]r}U citation_refsr~}rUindirect_targetsr€]rUsettingsr‚(cdocutils.frontend Values rƒor„}r…(Ufootnote_backlinksr†KUrecord_dependenciesr‡NU rfc_base_urlrˆUhttp://tools.ietf.org/html/r‰U tracebackrŠˆUpep_referencesr‹NUstrip_commentsrŒNU toc_backlinksrUentryrŽU language_coderUenrU datestampr‘NU report_levelr’KU _destinationr“NU halt_levelr”KU strip_classesr•NhLNUerror_encoding_error_handlerr–Ubackslashreplacer—Udebugr˜NUembed_stylesheetr™‰Uoutput_encoding_error_handlerršUstrictr›U sectnum_xformrœKUdump_transformsrNU docinfo_xformržKUwarning_streamrŸNUpep_file_url_templater Upep-%04dr¡Uexit_status_levelr¢KUconfigr£NUstrict_visitorr¤NUcloak_email_addressesr¥ˆUtrim_footnote_reference_spacer¦‰Uenvr§NUdump_pseudo_xmlr¨NUexpose_internalsr©NUsectsubtitle_xformrª‰U source_linkr«NUrfc_referencesr¬NUoutput_encodingr­Uutf-8r®U source_urlr¯NUinput_encodingr°U utf-8-sigr±U_disable_configr²NU id_prefixr³UU tab_widthr´KUerror_encodingrµUUTF-8r¶U_sourcer·h/Ugettext_compactr¸ˆU generatorr¹NUdump_internalsrºNU smart_quotesr»‰U pep_base_urlr¼Uhttp://www.python.org/dev/peps/r½Usyntax_highlightr¾Ulongr¿Uinput_encoding_error_handlerrÀj›Uauto_id_prefixrÁUidrÂUdoctitle_xformrÉUstrip_elements_with_classesrÄNU _config_filesrÅ]Ufile_insertion_enabledrƈU raw_enabledrÇKU dump_settingsrÈNubUsymbol_footnote_startrÉKUidsrÊ}rË(h#jãhh=h$j h%h’h"jhjðhjëhh=h&j`hjh!j›h h˜uUsubstitution_namesrÌ}rÍh0h;h2}rÎ(h6]h4]h5]Usourceh/h7]h8]uU footnotesrÏ]rÐUrefidsrÑ}rÒh]rÓh*asub.