Alexa 기술 내에서 일부 데이터를 쓰려고하는 Firebase 데이터베이스가 있습니다. 해당 스킬에 대한 Node.js 코드는 AWS Lambda 함수 내부에 있으며, 해당 코드가 실행되면 일부 데이터를 Firebase에 푸시하고자합니다.AWS 람다에서 호스팅되는 Alexa 기술 내에서 Firebase로 데이터를 보낼 수 없습니다
나는 Lambda 외부에있는 Firebase에 연결하여이를 밀어 넣는 코드를 테스트했으며 예상대로 정확하게 작동합니다. 아래 코드는 다음과 같습니다.
var firebase = require('firebase');
firebase.initializeApp({
databaseURL: 'https://myapp.firebaseio.com',
serviceAccount: './myapp.json',
});
var cart = firebase.database().ref('/cart');
console.log(cart);
cart.push({
item: 'apples', quantity: '1', amount: '0'
}, function(error) {
if (error) {
console.log("Data could not be saved." + error);
} else {
console.log("Data saved successfully.");
}
});
이 코드는 람다 (Lambda) 함수에서 실행될 때 아무 것도 데이터베이스 인스턴스로 푸시하지 않습니다. 나는 람다 (Lambda) 제한 시간 제한이 이것의 원인 일 수 있다고 온라인에서 읽었으므로 제한 시간 제한을 1 분으로 늘렸고 여전히 예상대로 실행되지 않습니다. 또한 Node.js SDK 대신 Firebase REST API를 사용해 보았는데 그 중 하나가 작동하지 않았습니다. AWS Lambda에서 Firebase로 데이터를 푸시하는 올바른 방법은 무엇입니까?
DB의 사용 권한이 인증되지 않은 읽기/쓰기를 허용합니까? –
VPC 안에 람다 함수를 넣었습니까? –
예, DB의 사용 권한은 공개입니다. 아마존 리소스에 액세스하려고하지 않기 때문에 VPC 역할을 구성해야한다고 생각하지 않았습니다. 어떤 종류의 VPC 역할을 구성해야합니까? – irams