Avalados por :

Como Coletar Mensagens Individuais em Lote no SAP Data Intelligence

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...
{
		"file": {
			"connection": {
				"configurationType": "Connection Management",
				"connectionID": "/"
			},
			"isDir": false,
			"modTime": "2021-07-08T20:59:17Z",
			"path": "/JW/fire/000000.mp4",
			"size": 26082659
		},
		"fileEvent": "alreadyExists",
		"message.batchIndex": 10,
		"message.batchParent": {
			"message.batchCount": "null",
			"message.batchIndex": 0,
			"message.batchSize": 1,
			"message.batchSizeUnit": "null",
			"message.lastBatch": true
		},
		"message.batchSize": 1,
		"message.lastBatch": true
	}
	

O anterior é o resultado do operador LIST no SAP Data Intelligence. No entanto, isso é apresentado como uma mensagem individual (file.message). Como posso coletar todas as mensagens em um lote?

Talvez coletando todos os nomes de arquivo em uma lista Python.

ou seja, = [00000.mp4, 000001.mp4, ... 0000010.mp4]

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Obrigado Andy, primeiro por me contar sobre o operador "From File", torna a vida mais fácil em alguns casos ?

Também precisava enviar apenas uma vez, quando o lote estivesse completamente terminado. E encontrei minha solução em outra de suas respostas no fórum.

registros=[]
def on_input(msg):
   
    global registros
    registros.append(msg.attributes['file']['path'])
    if msg.attributes['message.lastBatch']:
        api.send("out", registros)

api.set_port_callback("in", on_input)

Então, muito obrigado

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Rajarshi,

Você pode usar o operador " From File " para extrair o atributo de caminho de uma mensagem de arquivo. No operador downstream do python3, por exemplo, você pode obter o atributo de caminho recuperando o corpo da seguinte maneira:

registros = []
def on_input(msg):
    global registros
    registros.append(msg.body)

Ou, se você não deseja usar o operador "From File", você pode recuperar diretamente o caminho da mensagem do arquivo de entrada da seguinte maneira:

 registros = [] def on_input(msg):    global registros    registros.append(msg.attributes["file"]["path"])

Saudações,

/Andy

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?