def consume(args):
    # Get the service resources

    queue_service = QueueService(
        account_name=os.environ.get('QUEUE_STORAGE_ACCOUNT'),
        account_key=os.environ.get('QUEUE_STORAGE_ACCESS_KEY'))

    queue_service.decode_function = QueueMessageFormat.binary_base64decode

    logger.debug('Listening for messages on {}'.format(args.azure_queue))
    while True:
        messages = queue_service.get_messages(
            args.azure_queue,
            num_messages=16,
            visibility_timeout=args.wait_time)
        for message in messages:
            try:
                process(args, message)
            except AzureException as e:
                logger.exception(e)
            if not args.dry_run:
                logger.debug('deleting message {}'.format(message.id))
                queue_service.delete_message(args.azure_queue, message.id,
                                             message.pop_receipt)
        time.sleep(args.wait_time)
Beispiel #2
0
def writeToAzureQueue(outputList):
    # send the output to the queue
    logging.info("outputqueueLength = %s" % (str(len(outputList))))
    connect_str = os.getenv("AzureWebJobsStorage")
    queue_name = os.getenv("glossaryOutPutQueue")
    queue_service = QueueService(connection_string=connect_str)
    queue_service.encode_function = QueueMessageFormat.binary_base64encode
    queue_service.decode_function = QueueMessageFormat.binary_base64decode
    queue_service.put_message(queue_name,
                              json.dumps(outputList).encode('utf-8'))
def create_queue_service(account_name, account_key):
    queue_service = None
    try:
        queue_service = QueueService(account_name=account_name,
                                     account_key=account_key)
        queue_service.encode_function = QueueMessageFormat.binary_base64encode
        queue_service.decode_function = QueueMessageFormat.binary_base64decode
    except Exception as e:
        logging.error("Could not instantiate queue service: %s" % e)
    return queue_service
Beispiel #4
0
from scipy.misc import imsave
import time

from matplotlib import pyplot as plt

import os
from azure.storage.blob import BlockBlobService
from azure.storage.queue import QueueService, QueueMessageFormat
storage_account = 'imprinter'
storage_key = 'qELnM/SC2Sx90GcLebvUCruxz/ibFlUpa4JP9pQSdXxURJPIeHHQfIBULswkO9XToZe4wH61OqhlLyen6+wSgA=='
block_blob_service = BlockBlobService(account_name=storage_account,
                                      account_key=storage_key)
queue_name = 'imprintrequests'
queue_service = QueueService(account_name=storage_account,
                             account_key=storage_key)
queue_service.decode_function = QueueMessageFormat.binary_base64decode


def saveToBlob(file_name, file_path):
    container_imprinted_name = 'imprinted'

    block_blob_service = BlockBlobService(account_name=storage_account,
                                          account_key=storage_key)

    block_blob_service.create_blob_from_path(container_imprinted_name,
                                             file_name, file_path)


def getImageUrlFromQueue():
    messages = queue_service.get_messages(queue_name)
    if messages is not None and len(messages) != 0:
Beispiel #5
0
import configparser
config = configparser.RawConfigParser()
config.read('storage.conf')
accName = config.get('storage_account', 'accName')
accKey = config.get('storage_account', 'accKey')
queueName = config.get('storage_account', 'queueName')

# sudo pip install blessings
from azure.storage.queue import QueueService, QueueMessageFormat
from blessings import Terminal
import sys
import time

queue_service = QueueService(account_name=accName, account_key=accKey)
queue_service.decode_function = QueueMessageFormat.text_base64decode

t = Terminal()
print(t.green('Connected to Azure Storage Queue ' + queueName + '...'))
# Get approximate number of messages in queue
queue_metadata = queue_service.get_queue_metadata(queueName)
count = queue_metadata.approximate_message_count
print('Approximate number of messages in queue: ', count, '\n')

while True:
    messages = queue_service.get_messages(queueName)
    if messages:
        # Get the next message
        for message in messages:
            print(t.bold_yellow(message.content))
            queue_service.delete_message(queueName, message.id, message.pop_receipt)