/ / Error al cargar un archivo JSON en Amazon SQS - python, amazon-web-services, boto, amazon-sqs

Error al cargar un archivo JSON en Amazon SQS - python, amazon-web-services, boto, amazon-sqs

Tengo el siguiente código que básicamente intenta escribir un archivo .json en SQS

import json
import uuid
import time
import boto.sqs
import boto
from boto.sqs.connection import SQSConnection
from boto.sqs.message import Message
from boto.sqs.message import RawMessage

sqs = boto.sqs.connect_to_region("ap-southeast-1")
queue = sqs.get_queue("Demon")
json_fileone=open("emp.json")  ## this is only one JSON file
dataone=json.load(json_fileone)

print dataone
[queue.write(queue.new_message(i)) for i in dataone]
print "File sent successfully to queue"

Esto carga el emp deseado.archivo json, lo que necesito hacer es ejecutar un bucle en el número de archivos desde que tengo emp1.json, emp2.json, emp3.json, emp4.json a SQS y, de forma predeterminada, BOTO realiza una codificación BASE64 antes de enviar ... Necesito enviar estos archivos en el mismo formato, es decir, ".json"

Respuestas

0 para la respuesta № 1

De acuerdo a tu pregunta y nuestros comentarios, necesitas usar glob.

import glob
json_files = glob.glob("*.json")
for json_file in json_files:
process_file(json_file)

Así que mueve tu proceso para que funcione process_file. Mientras tanto uso with Declaración para procesar archivos.

def process_file(json_file):
sqs = boto.sqs.connect_to_region("ap-southeast-1")
queue = sqs.get_queue("Demon")
with open("emp.json") as json_fileone:
dataone=json.load(json_fileone)
.....