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
Exemplo n.º 2
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()