目前AWS JS GameLift SDK的匹配票没有直接提供推送机制。但是,可以通过AWS SNS(Simple Notification Service)来实现推送机制。具体步骤如下:
const AWS = require('aws-sdk'); AWS.config.update({region: 'us-west-2'}); const sns = new AWS.SNS();
const createTopicPromise = sns.createTopic({Name: 'MyTopicName'}).promise();
createTopicPromise.then((data) => {
console.log(Topic created with ARN ${data.TopicArn}
);
}).catch((err) => {
console.error(err, err.stack);
});
const subscribePromise = sns.subscribe({
Protocol: 'sms',
TopicArn: 'arn:aws:sns:us-west-2:123456789012:MyTopicName',
Endpoint: '+1234567890' // Phone number to receive SMS
}).promise();
subscribePromise.then((data) => {
console.log(Subscription ARN is ${data.SubscriptionArn}
);
}).catch((err) => {
console.error(err, err.stack);
});
const AWS = require('aws-sdk'); AWS.config.update({region: 'us-west-2'}); const gameLift = new AWS.GameLift();
exports.handler = async (event, context, callback) => { const matchTicketId = event.detail.matchTicketId;
const ticketPromise = gameLift.describeMatchmaking({TicketIds: [matchTicketId]}).promise(); const ticketData = await ticketPromise;
// Do something with ticketData or send it to SNS topic const sns = new AWS.SNS(); const snsPublishPromise = sns.publish({ Message: JSON.stringify(ticketData), TopicArn: 'arn:aws:sns:us-west-2:123456789