我有一个工作的python / boto脚本,它将消息发布到我的AWS SQS队列。然而,邮件正文被硬编码到脚本中。
我创建了一个名为〜/ file的文件,其中包含两个值
$ cat ~/file
Username 'encrypted_password_string'
我希望我的boto脚本(见下文)将消息发送到包含这两个值的AWS SQS队列。
任何人都可以建议如何修改我的脚本,以便发送到SQS的消息体包含文件〜/ file的内容。另请注意加密密码字符串中存在的特殊字符
实施例: 〜/文件 用户名d5MopV / EsfSKk8BExCyLHFwNfBrOTzQ1
#!/usr/bin/env python
conf = {
"sqs-access-key": "xxxx",
"sqs-secret-key": "xxxx",
"sqs-queue-name": "UserPassChange",
"sqs-region": "xxxx",
"sqs-path": "sqssend"
}
import boto.sqs
conn = boto.sqs.connect_to_region(
conf.get('sqs-region'),
aws_access_key_id = conf.get('sqs-access-key'),
aws_secret_access_key = conf.get('sqs-secret-key')
)
q = conn.create_queue(conf.get('sqs-queue-name'))
from boto.sqs.message import RawMessage
m = RawMessage()
m.set_body('hardcoded message')
retval = q.write(m)
print 'added message, got retval: %s' % retval
让它运转的一种方法:
在我添加的脚本中
import commands
然后补充说,
USERNAME = commands.getoutput("echo $(who am i | awk '{print $1}')")
PASS = commands.getoutput("cat /tmp/.s")
然后将这些值添加到我的邮件正文中:
MSG = RawMessage()
MSG.set_body(json.dumps({'pass': PASS, 'user': USERNAME}))
答案 0 :(得分:0)
以下示例显示如何使用Boto3将文件发送到接收方。
#id1 .active {}