2017-05-04 1 views
4

새로운 프로젝트/서브 메시지가 제 3 자 프로젝트 (즉, 교차 프로젝트)의 주제/가입으로 전송 될 때마다 functions.pubsub/onPublish를 사용하여 Pub/Sub 함수를 트리거하려고합니다.Firebase 용 클라우드 기능을 여러 프로젝트에서 사용할 수 있습니까?

일부 연구 및 실험을 한 후 항목 이름에 /가 포함되어 있고 "projects /"+ process.env.GCLOUD_PROJECT + "/ topics /"+ 주제 (https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts)가 기본값 인 경우 TopicBuilder가 오류를 발생시키는 것으로 나타났습니다.

는 또한이 Google 클라우드 기능으로보고 저를 이끌어 (What is the difference between Cloud Function and Firebase Functions?)

"중포 기지 Google 클라우드 기능 주위에 (상대적으로 얇은) 래퍼를 제공한다"고 말했다 스택 오버플로에 게시물을 발견했다. IAM에서 권한을 변경 한 후 제 3 자 프로젝트의 주제에 대해 소유하고있는 프로젝트에서 구독을 만들 수 있었지만 기능을 주제와 연관시키는 방법을 찾을 수 없었습니다. 또한 제 3 자 프로젝트에서 주제와 구독 기능을 연결하는 데 성공하지 못했습니다. 콘솔에서는 프로젝트의 주제 만 보았고 gcloud를 사용하여 성공하지 못했습니다.

프로젝트에서 여러 기능을 사용하는 데 성공한 사람이 있습니까? 그렇다면 어떻게 달성 했습니까? 제공 할 수있는 설명서 URL이 있습니까? 타사 프로젝트에서 주제 및 구독에 대한 메시지로 함수를 트리거 할 수없는 경우 제 3 자 Pub/Sub 데이터를 섭취 할 수있는 방법을 생각할 수 있습니까?

구독이 포함 된 프로젝트에 게시/구독료가 청구되므로 해당 구독이 해당 주제와 함께 타사 프로젝트에있는 것이 좋습니다.

답변

1

Google 클라우드 기능은 현재 함수가 다른 프로젝트에 자원을들을 허용하지 않습니다 감사합니다. 특히 Cloud Pub/Sub 트리거의 경우 HTTP 기능을 배포하고 해당 프로젝트 간 기능을 실행하려는 항목에 Pub/Sub 푸시 구독을 추가하여이 문제를 해결할 수 있습니다.

+0

고맙습니다. 토머스 –

+0

@Thomas_Bouldin은 Firebase CF http listener가 공용 인증 기관이 아닌 공개 엔드 포인트가 필요하지 않습니까? –

+0

이렇게하면 자신의 인증을 롤백해야합니다. 이 작업을 수행하는 저렴하고 쉬운 방법은 게시 URL에 쿼리 조각으로 비밀 키를 추가하는 것입니다. 클라우드 기능은 비밀 키와 일치하지 않는 요청을 거부합니다. –

관련 문제