Skip to content

Instantly share code, notes, and snippets.

@phobologic
Last active December 15, 2015 20:48
Show Gist options
  • Save phobologic/5320912 to your computer and use it in GitHub Desktop.
Save phobologic/5320912 to your computer and use it in GitHub Desktop.
# python
Python 2.7.2 (default, Oct 11 2012, 20:14:37)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from botocore import session
>>> s = session.get_session()
>>> sqs = s.get_service('sqs')
>>> rcv = sqs.get_operation('ReceiveMessage')
>>> sqs.region_names
[u'us-east-1', u'ap-northeast-1', u'eu-west-1', u'ap-southeast-1', u'ap-southeast-2', u'us-west-2', u'us-gov-west-1', u'us-west-1', u'sa-east-1']
>>> ep = sqs.get_endpoint('us-west-2')
>>> rcv.params
[string:QueueUrl, integer:WaitTimeSeconds, integer:VisibilityTimeout, integer:MaxNumberOfMessages, list:AttributeNames]
>>> rcv.params[0].py_name
u'queue_url'
>>> dir(rcv.params[0])
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'allow_file', 'build_parameter', 'build_parameter_json', 'build_parameter_query', 'build_parameter_rest', 'cli_name', 'documentation', 'flattened', 'get_label', 'handle_subtypes', 'max', 'members', 'min', 'name', u'no_paramfile', 'payload', 'py_name', 'required', u'shape_name', 'streaming', 'type', 'validate', 'xmlname']
>>> rcv.params[0].required
True
>>> get_queue = sqs.get_operation('GetQueueUrl')
>>> get_queue.params
[string:QueueName, string:QueueOwnerAWSAccountId]
>>> result = get_queue.call(ep, queue_name='tasks')
>>> result
(<Response [200]>, {u'QueueUrl': 'https://us-west-2.queue.amazonaws.com/459170252436/tasks', 'ResponseMetadata': {'RequestId': '4217190f-c7d6-5992-b97b-50d6c316b78f'}})
>>> result[1]['QueueUrl']
'https://us-west-2.queue.amazonaws.com/459170252436/tasks'
>>> url = result[1]['QueueUrl']
>>> result = rcv.call(ep, queue_url=url)
>>> result
(<Response [200]>, {u'Messages': [], 'ResponseMetadata': {'RequestId': 'a920c389-6550-576d-a70a-8a506052dd72'}})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment