我剛剛開始使用SNS,據我所知,你不能簡單地訂閱發行商並收聽活動。你必須我)。創建一個公共訪問回調(網址/電子郵件/短信),ii)。向服務註冊它,並iii)。構建特定於回調類型的消費者。是否可以在不使用公共回叫的情況下收聽AWS SNS通知?
我想用類似這樣的API:
const client = new SnsClient({
region: 'eu-west-1',
topicArn: 'XXX'
})
client.on('connection', (connection) => {
connection.on('notification', (notification) => {
// do some work with notification
})
})
我缺少的東西?我想讓X個Web服務器監聽單個事件(扇出)。
例如我的工作人員可能是一個私人子網上的EC2實例,所以可用的訂閱:「http(s)」,「email」,「短信」將無法工作**。 「SQS」可以工作,但你必須爲每個實例設置一個隊列,它使用長輪詢而不是推送。 「應用程序」和「lambda」不適用。
AWS SNS是否適合此用例?如果沒有,是否有另外的AWS服務?
**您可能可以使用https工作,但只能使用過於複雜的角色/ dns。
編輯: 我想我想要做的是類似於Google Cloud PubSub Subscription或RabbitMQ但使用本機(AWS),而不是第三方服務。
你在問[fanout場景](http://docs.aws.amazon.com/sns/latest/dg/SNS_Scenarios.html#SNSFanoutScenario)嗎? –
@AlexBlex類但我更感興趣的**連接**。我不想爲我的實例創建回調和訂閱者。我想簡單地有一個「套接字」連接。我的直覺是,我需要一種不同的產品,但不能識別出合適的AWS產品。爲每個實例連接一個單獨的隊列似乎沒有必要。 – Simon
那麼,你可能需要詳細說明什麼是「socket like」連接。 pubsub和rabbit都需要所有消費者訂閱。訂閱是相當「套接字」壽。 –