示例#1
0
 def receive_queue_message(self, queue_name, peek_lock=True, timeout=60):
     queue = self.get_queue(queue_name)
     if queue:
         try:
             return queue.messages.pop(0)
         except IndexError:
             return Message()
def SendNotification(EMail, PList, dt1, strlink):
    config = CipherConfig.load('parameters.yaml')
    Bus_settings = config['Notification']['AzureMessageBus']
    MessageBody_settings = config['Notification']['MessageBody']
    if Bus_settings['SharedAccessKeyValue'] != None and \
    Bus_settings['ServiceNamespace'] != None:
        Address_list = [EMail]
        ServiceNameSpace = Bus_settings['ServiceNamespace']
        sbs = ServiceBusService(ServiceNameSpace,
                                shared_access_key_name = Bus_settings['SharedAccessKeyName'],
                                shared_access_key_value = Bus_settings['SharedAccessKeyValue'] ) 
        message = {
            'EmailType' : 0,
            'Subject' : 'Status on ' + dt1,
            'FromAddress' : MessageBody_settings['FromAddress'],
            'ReplyTo' : '',
            'FromName' : MessageBody_settings['FromName'] + ' ' + CipherConfig.Country + '-' + CipherConfig.Environment,
            'ToAddresses' : Address_list,
            'Message' : 'Processes completed with Alert(s) in the last hour\n\n' + PList + strlink,
            'CcAddresses': [],
            'BccAddresses': [],
            'Metadata': {
                "TaskName": "This is a test message"}
            }

        json = CipherData.toJson(message)
        msg = Message(json)
        sbs.send_queue_message(Bus_settings['QueueName'], msg)    
    return
示例#3
0
def sendWindBeringData(msg):
    try:
        bus_service = ServiceBusService(
        service_namespace='kanmessagebus',
        shared_access_key_name='client',
        shared_access_key_value='dNj7Z+fOvV49WNETUL0Guj3KVVdZude/fqzmj95GHKo=')

        mesage = Message(msg)
        bus_service.send_topic_message("wind_bearing", mesage)

    except Exception as e:
        if hasattr(e, 'message'):
            print(e.message)
        else:
            print(e)
示例#4
0
def sendWeatherData(msg):
    try:
        bus_service = ServiceBusService(
        service_namespace='kanmessagebus',
        shared_access_key_name='weather',
        shared_access_key_value='tweaVJ8+++wUl3f568/E9vgAH21FK2SpcPBXn5F8Kts=')

        mesage = Message(msg)
        bus_service.send_topic_message("weather_station", mesage)

    except Exception as e:
        if hasattr(e, 'message'):
            print(e.message)
        else:
            print(e)
示例#5
0
def process_request(queue_name):
    """
    Endpoint to publish messages to Azure service bus
    :param queue_name: name of queue to publish messages to
    :return:
    """
    input_data = request.get_json()
    bus_service = ServiceBusService(
        service_namespace=SERVICE_NAMESPACE,
        shared_access_key_name=request.headers.get('sas-token-name'),
        shared_access_key_value=request.headers.get('sas-token'))

    for index, input_entity in enumerate(input_data):
        data: str = json.dumps(input_entity[PAYLOAD_KEY] if PAYLOAD_KEY else
                               input_entity).encode("utf-8")
        msg = Message(data)
        try:
            bus_service.send_queue_message(queue_name, msg)
            logging.info("Entity %s sent successfully", input_entity["_id"])
        except Exception as e:
            logging.error(e)
            abort(500)
    return Response()
示例#6
0
    def remoteControlStop(self, bot_id):

        msg = Message('0 0'.encode('utf-8'))
        self.bus_service.send_topic_message((self.topic_vel + bot_id), msg)
示例#7
0
    def remoteControl(self, bot_id, cmd_dirn):

        msg = Message(self.cmd_values[cmd_dirn].encode('utf-8'))
        self.bus_service.send_topic_message((self.topic_vel + bot_id), msg)
示例#8
0
 def receive_queue_message(self, queue_name, peek_lock=True, timeout=60):
     queue = self.get_queue(queue_name)
     if queue and len(queue.messages):
         return queue.messages.pop(0)
     return Message()