如何通知我的服务器应用程序?
How to notify my server application?
我在 Amazon S3
上定期向我的 bucket
发送一些文件。但是,我需要通知我的服务器我的存储桶已更新,这样他们就可以下载新文件。
我想实施 push 和 pull 方法,或类似的方法。
我正在考虑构建一个 ActiveMQ
环境,以便与 topics
一起工作。不过,我想知道是否真的有必要,也许我对这个问题反应过度了,你们可能有更简单的解决方案。
[编辑]
我一直在尝试用 shell
做一些非常简单的事情,到目前为止我得到了这个:
#!/bin/bash
set -x
CLIENTID=$(hostname -f)
MOM_ADDRESS="mom.company.solutions"
DESTINATION="Company.Product.Sync"
TYPE="topic"
USER="admin"
PASSWORD="admin"
# USER="user"
# PASSWORD="user"
produce(){
curl -u "${USER}":"${PASSWORD}" -d "body=${MESSAGE}" "http://${MOM_ADDRESS}:8161/api/message/${DESTINATION}?type=${TYPE}"
}
consume(){
while [ true ];
do
wget --user "${USER}" --password "${PASSWORD}" "http://${MOM_ADDRESS}:8161/api/message/${DESTINATION}?type=${TYPE}&clientId=${CLIENTID}"
sleep 5
done
}
case "" in
produce)
MESSAGE=""
produce
;;
consume)
consume
;;
*)
echo "Usage: jasper {produce|consume}"
exit 1
;;
esac
用法:
./queue produce './sync download'
./queue consume
只需启用 S3 事件通知:http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
您可以将它们转到 SNS 主题、SQS 队列或 Lambda 函数。
我在 Amazon S3
上定期向我的 bucket
发送一些文件。但是,我需要通知我的服务器我的存储桶已更新,这样他们就可以下载新文件。
我想实施 push 和 pull 方法,或类似的方法。
我正在考虑构建一个 ActiveMQ
环境,以便与 topics
一起工作。不过,我想知道是否真的有必要,也许我对这个问题反应过度了,你们可能有更简单的解决方案。
[编辑]
我一直在尝试用 shell
做一些非常简单的事情,到目前为止我得到了这个:
#!/bin/bash
set -x
CLIENTID=$(hostname -f)
MOM_ADDRESS="mom.company.solutions"
DESTINATION="Company.Product.Sync"
TYPE="topic"
USER="admin"
PASSWORD="admin"
# USER="user"
# PASSWORD="user"
produce(){
curl -u "${USER}":"${PASSWORD}" -d "body=${MESSAGE}" "http://${MOM_ADDRESS}:8161/api/message/${DESTINATION}?type=${TYPE}"
}
consume(){
while [ true ];
do
wget --user "${USER}" --password "${PASSWORD}" "http://${MOM_ADDRESS}:8161/api/message/${DESTINATION}?type=${TYPE}&clientId=${CLIENTID}"
sleep 5
done
}
case "" in
produce)
MESSAGE=""
produce
;;
consume)
consume
;;
*)
echo "Usage: jasper {produce|consume}"
exit 1
;;
esac
用法:
./queue produce './sync download'
./queue consume
只需启用 S3 事件通知:http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
您可以将它们转到 SNS 主题、SQS 队列或 Lambda 函数。