Pub/Sub용 Functions 코드를 Github에서 관리
5772 단어 GitHubcloudfunctions5gcpPubSub
절차
1. Github 리포지토리에 Functions 코드를 준비합니다.
샘플 코드는 Pub/Sub 로 공개된 메시지와 속성을 출력하는 단순한 함수.
example/function.go
package example
import (
"context"
"encoding/json"
"log"
"cloud.google.com/go/pubsub"
)
// User JSONデコード用の構造体.
type User struct {
Name string `json:"name"`
}
// HelloPubSub Pub/Subからトリガーされる関数.
func HelloPubSub(ctx context.Context, m *pubsub.Message) error {
// メッセージの出力
var user User
if err := json.Unmarshal(m.Data, &user); err != nil {
log.Fatal(err)
}
log.Println("Hello,", user.Name)
// 属性の出力
if len(m.Attributes) > 0 {
for k, v := range m.Attributes {
log.Println("key:", k)
log.Println("value:", v)
}
}
return nil
}
같은 계층에 go.mod도 필요.
example/go.mod
module github.com/mt-village/cloud-func-exampl
go 1.11
require cloud.google.com/go/pubsub v1.3.0
샘플은 여기> mt-village/cloud-func-example
2. GCP의 리포지토리와 동기화
Cloud Source Repositories의 "리포지토리 추가"에서 만든 Github 리포지토리를 연결합니다.
연결된 리포지토리는
github_mt-village_cloud-func-example
와 같은 이름입니다.이제 Github 측으로 변경된 내용이 GCP 측 리포지토리와 동기화됩니다.
3. Pub/Sub 주제 만들기
Cloud Pub/Sub 의 「토픽 작성」으로부터 신규 토픽을 작성.
4. Function 만들기
Cloud Functions의 "함수 만들기"에서 위에서 만든 주제와 리포지토리를 선택하여 새 Function을 만듭니다.
완성
테스트용 메시지를 공개.
Functions의 로그를 보면, 예상대로의 동작을 하고 있는 것을 확인할 수 있다.
리포지토리의 변경을 자동으로 검지해 함수를 재배포, 라고 하는 것은 해주지 않기 때문에, 코드를 변경하면 함수의 편집으로부터 수동으로 배치 버튼을 누를 필요가 있다. (자동으로하고 싶다)
참고 기사
Reference
이 문제에 관하여(Pub/Sub용 Functions 코드를 Github에서 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mt-village/items/ae0207aeab26aae7e8ea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)