Exemple #1
0
 def create_queue(self, name):
     req = RequestWithMethod("PUT", "%s/%s" % (self.get_base_url(), name))
     req.add_header("Content-Length", "0")
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #2
0
 def create_queue(self, name):
     req = RequestWithMethod("PUT", "%s/%s" % (self.get_base_url(), name))
     req.add_header("Content-Length", "0")
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #3
0
 def create_container(self, container_name, is_public = False):
     req = RequestWithMethod("PUT", "%s/%s" % (self.get_base_url(), container_name))
     req.add_header("Content-Length", "0")
     if is_public: req.add_header(PREFIX_PROPERTIES + "publicaccess", "true")
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #4
0
 def put_blob(self, container_name, blob_name, data, content_type = None):
     req = RequestWithMethod("PUT", "%s/%s/%s" % (self.get_base_url(), container_name, blob_name), data=data)
     req.add_header("Content-Length", "%d" % len(data))
     if content_type is not None: req.add_header("Content-Type", content_type)
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #5
0
 def set_metadata(self, container_name, blob_name, metadata):
     req = RequestWithMethod("PUT", "%s/%s/%s?comp=metadata" % (self.get_base_url(), container_name, blob_name))
     for name, value in metadata.iteritems():
         req.add_header("x-ms-meta-" + name, value)
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #6
0
 def put_message(self, queue_name, payload):
     data = "<QueueMessage><MessageText>%s</MessageText></QueueMessage>" % base64.encodestring(payload)
     req = RequestWithMethod("POST", "%s/%s/messages" % (self.get_base_url(), queue_name), data=data)
     req.add_header("Content-Type", "application/xml")
     req.add_header("Content-Length", len(data))
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #7
0
 def set_metadata(self, container_name, blob_name, metadata):
     req = RequestWithMethod(
         "PUT", "%s/%s/%s?comp=metadata" %
         (self.get_base_url(), container_name, blob_name))
     for name, value in metadata.iteritems():
         req.add_header("x-ms-meta-" + name, value)
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #8
0
 def delete_queue(self, name):
     req = RequestWithMethod("DELETE",
                             "%s/%s" % (self.get_base_url(), name))
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #9
0
 def delete_message(self, queue_name, message):
     id = message.id
     pop_receipt = message.pop_receipt
     req = RequestWithMethod(
         "DELETE", "%s/%s/messages/%s?popreceipt=%s" %
         (self.get_base_url(), queue_name, id, pop_receipt))
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #10
0
    def create_table(self, name):
        data = """<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title />
  <updated>%s</updated>
  <author>
    <name />
  </author>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:TableName>%s</d:TableName>
    </m:properties>
  </content>
</entry>""" % (time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime()), name)
        req = RequestWithMethod("POST",
                                "%s/Tables" % self.get_base_url(),
                                data=data)
        req.add_header("Content-Length", "%d" % len(data))
        req.add_header("Content-Type", "application/atom+xml")
        self._credentials.sign_table_request(req)
        try:
            response = urlopen(req)
            return response.code
        except URLError, e:
            return e.code
Exemple #11
0
    def create_table(self, name):
        data = """<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title />
  <updated>%s</updated>
  <author>
    <name />
  </author>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:TableName>%s</d:TableName>
    </m:properties>
  </content>
</entry>""" % (time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime()), name)
        req = RequestWithMethod("POST", "%s/Tables" % self.get_base_url(), data=data)
        req.add_header("Content-Length", "%d" % len(data))
        req.add_header("Content-Type", "application/atom+xml")
        self._credentials.sign_table_request(req)
        try:
            response = urlopen(req)
            return response.code
        except URLError, e:
            return e.code
Exemple #12
0
 def create_container(self, container_name, is_public=False):
     req = RequestWithMethod(
         "PUT", "%s/%s" % (self.get_base_url(), container_name))
     req.add_header("Content-Length", "0")
     if is_public:
         req.add_header(PREFIX_PROPERTIES + "publicaccess", "true")
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #13
0
 def put_blob(self,
              container_name,
              blob_name,
              data,
              content_type=None,
              metadata={}):
     req = RequestWithMethod(
         "PUT",
         "%s/%s/%s" % (self.get_base_url(), container_name, blob_name),
         data=data)
     req.add_header("Content-Length", "%d" % len(data))
     if content_type is not None:
         req.add_header("Content-Type", content_type)
     for name, value in metadata.iteritems():
         req.add_header("x-ms-meta-" + name, value)
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #14
0
 def put_message(self, queue_name, payload):
     data = "<QueueMessage><MessageText>%s</MessageText></QueueMessage>" % base64.encodestring(
         payload)
     req = RequestWithMethod("POST",
                             "%s/%s/messages" %
                             (self.get_base_url(), queue_name),
                             data=data)
     req.add_header("Content-Type", "application/xml")
     req.add_header("Content-Length", len(data))
     self._credentials.sign_request(req)
     try:
         response = urlopen(req)
         return response.code
     except URLError, e:
         return e.code
Exemple #15
0
 def delete_blob(self, container_name, blob_name):
     req = RequestWithMethod(
         "DELETE",
         "%s/%s/%s" % (self.get_base_url(), container_name, blob_name))
     self._credentials.sign_request(req)
     return urlopen(req).read()