Slide 38
Slide 38 text
Copyright © Bitkey Inc. All rights reserved.
Topic や Subscription はコードから作成
func processPubSubResources(ctx context.Context, env string, pc *pubsub.Client) (*PubSubResource, error) {
switch env {
case "develop":
topic, err := pubsub.CreateTopic(ctx, CLI.ExecutorTopicID, pc)
if err != nil {
return nil, fmt.Errorf("failed to create executor topic: %w", err)
}
_, err = pubsub.CreateSubscription(ctx, CLI.SubscriptionID, topic, pc)
if err != nil {
return nil, fmt.Errorf("failed to create executor subscription: %w", err)
}
erSub, err := pubsub.CreateSubscription(ctx, CLI.ExecutorResultSubscriptionID, erTopic, pc)
if err != nil {
return nil, fmt.Errorf("failed to create executor-result subscription: %w", err)
}
r := PubSubResource{
executorTopic: topic,
executorResultSubscription: erSub,
}
return &r, nil
api 内で develop の時だけ生成するようにしていた