2012-06-19 4 views
1

PostgreSQL DB에 Heroku 앱이 있습니다. 이제 DB에 액세스하기 위해 별도의 컴퓨터에 별도의 프로세스가 필요합니다. Herkou 사이트에 대한 제안은 실제로 내가하고 싶어했던 것입니다.Heroku : API에 데이터 액세스 캡슐화

No, connecting to your database from machines outside of Heroku is not supported. 
We recommend that you encapsulate data access in an API to manipulate it. 

그러나 이것이 어떻게 최선인지는 잘 모르겠습니다. 일부 JSON을 API로 보내고 요청의 결과로 JSON을 돌려받을 수 있기를 바랍니다. Like "주어진 사용자 ID가 여러 개일 경우 만료 된 모든 게시물을 제공하십시오. 또는 "게시물에 주어진 단어 중 하나 인 ""이 포함되어 있으면 일시 중지되도록 모든 사용자를 업데이트합니다.

그 목표를 달성하는 가장 좋은 방법은 무엇입니까? TCP를 통해 액세스 할 수 있고 JSON 입력을 허용하는 추가 루비 프로그램을 작성할 수 있습니까? Heroku와도 가능한가? 아니면 API를 내 레일 앱에 어떻게 든 통합해야합니까? 방법? 어떤 아이디어에 대한

, 감사합니다, 톰

당신은 당신의 레일 응용 프로그램으로 API를 통합해야합니다

답변

1

이 들어, 그 중 하나가 Grape 및 마운트와 같은 API 구축을위한 전문 도구를 사용하는 많은 솔루션이 있습니다 Rails 앱으로. 이 방법을 사용하면 Rails 앱을 실행하고 API를 사용하여 동일한 코드베이스를 공유 할 수 있습니다.

+0

감사합니다. 친구를 확인해 보겠습니다. 독립 실행 형 API를 선호했지만, Heroku에서는 불가능합니다. – EasierSaidThanDone

+0

독립 실행 형 API 란 무엇입니까? 포도 앱은 레일 앱의 별도 경로에 설치되며 서로 충돌하지 않으며 모델을 공유 할 수도 있습니다. –

+0

난 오버 헤드없이 가능한 한 가늘어 지도록하고 싶습니다. Heroku DB에 액세스 할 수있는 루비 앱에 대한 일반 TCP 호출과 마찬가지로 호출자에게는 제한된 옵션 만 제공됩니다. 모델을 공유 할 필요가 없습니다. 정수 값 목록처럼 일반 데이터를 반환하는 것이 좋습니다. 클라이언트는 정교한 모델을 모르는 노드 응용 프로그램이지만 빠른 계산과 결과 배포 만 수행 할 수 있습니다. 나는 벤치 마크에 관심이있을거야. – EasierSaidThanDone