J'ai un petit problème ici. Je veux lire à partir d'un fichier texte en utilisant python et créer une file d'attente, puis envoyer ces lignes à partir du fichier texte dans Amazon Web Services SQS (service Simple Queue). Tout d'abord, j'ai réussi à faire cela en utilisant boto, mais le problème est que les lignes ne viennent pas dans l'ordre, juste au hasard, comme la ligne 4, ligne 1, ligne 5 etc .. Voici mon code:lire à partir du fichier texte et envoyer à aws sqs Fifo file d'attente
import boto.sqs
conn = boto.sqs.connect_to_region("us-east-2",
aws_access_key_id='AKIAIJIQZG5TR3NMW3LQ',
aws_secret_access_key='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')
q = conn.create_queue('test')
with open('read.txt', 'r') as read_file:
from boto.sqs.message import RawMessage
for line in read_file:
m = RawMessage()
m.set_body(line)
q.write(m)
Alors, que faire? Eh bien, nous devons créer une file d'attente FIFO (que j'ai également réussi à utiliser boto3 en python), mais le problème est que j'ai des problèmes de lecture du fichier texte. Voici le code que j'ai utilisé pour créer une file FIFO dans SQS :
import boto3
AWS_ACCESS_KEY = 'AKIAIJIQZG5TR3NMW3LQ'
AWS_SECRET_ACCESS_KEY = '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'
sqs_client = boto3.resource(
'sqs',
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
region_name='us-east-2'
)
queue_name = ('demo_queue.fifo')
response = sqs_client.create_queue(
QueueName=queue_name,
Attributes={
'FifoQueue': 'true',
'ContentBasedDeduplication': 'true'
}
)
with open('read.txt', 'r') as read_file:
from boto.sqs.message import RawMessage
for line in read_file:
m = RawMessage()
m.set_body(line)
queue_name.write(m)
Quelqu'un sait comment résoudre ce problème? Merci.
Quelle est la erreur que vous obtenez? –
Je reçois le message d'erreur: AttributeError: l'objet 'str' n'a pas d'attribut 'write' – raxor