Pub/Sub ๊ฐ์‚ฌ ๋กœ๊น…

์ด ๋ฌธ์„œ์—์„œ๋Š” Pub/Sub์˜ ๊ฐ์‚ฌ ๋กœ๊น…์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Google Cloud ์„œ๋น„์Šค๋Š” Google Cloud ๋ฆฌ์†Œ์Šค ๋‚ด์˜ ๊ด€๋ฆฌ ๋ฐ ์•ก์„ธ์Šค ํ™œ๋™์„ ๊ธฐ๋กํ•˜๋Š” ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Cloud ๊ฐ์‚ฌ ๋กœ๊ทธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฐธ๊ณ 

Pub/Sub๋Š” ํ˜„์žฌ ๊ฒŒ์‹œ, ๊ตฌ๋…, ํ™•์ธ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€ ์ž‘์—…์˜ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ด๋ฆ„

Pub/Sub ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” pubsub.googleapis.com์ด๋ผ๋Š” ์„œ๋น„์Šค ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํ•„ํ„ฐ:

    protoPayload.serviceName="pubsub.googleapis.com"
  

๊ถŒํ•œ ์œ ํ˜•๋ณ„ ๋ฉ”์„œ๋“œ

๊ฐ IAM ๊ถŒํ•œ์—๋Š” type ์†์„ฑ์ด ํฌํ•จ๋˜๋ฉฐ ๊ทธ ๊ฐ’์€ ๋„ค ๊ฐ€์ง€ ๊ฐ’(ADMIN_READ, ADMIN_WRITE, DATA_READ, DATA_WRITE) ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ๋Š” ์—ด๊ฑฐํ˜•์ž…๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด Pub/Sub์—์„œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ด ๋กœ๊ทธ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์˜ type ์†์„ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. DATA_READ, DATA_WRITE, ADMIN_READ์˜ type ์†์„ฑ ๊ฐ’์„ ๊ฐ€์ง„ IAM ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋Š” ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. type ์†์„ฑ ๊ฐ’์ด ADMIN_WRITE์ธ IAM ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋Š” ๊ด€๋ฆฌ์ž ํ™œ๋™ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ์œ ํ˜• ๋ฉ”์„œ๋“œ
ADMIN_READ google.iam.v1.IAMPolicy.GetIamPolicy
google.pubsub.v1.SchemaService.GetSchema
google.pubsub.v1.SchemaService.ListSchemaRevisions
google.pubsub.v1.SchemaService.ListSchemas
google.pubsub.v1.SchemaService.ValidateMessage
google.pubsub.v1.SchemaService.ValidateSchema
google.pubsub.v1.Subscriber.GetSnapshot
google.pubsub.v1.Subscriber.ListSnapshots
google.pubsub.v1.Subscriber.Seek
ADMIN_WRITE google.iam.v1.IAMPolicy.SetIamPolicy
google.pubsub.v1.Publisher.CreateTopic
google.pubsub.v1.Publisher.DeleteTopic
google.pubsub.v1.Publisher.DetachSubscription
google.pubsub.v1.Publisher.UpdateTopic
google.pubsub.v1.SchemaService.CommitSchema
google.pubsub.v1.SchemaService.CreateSchema
google.pubsub.v1.SchemaService.DeleteSchema
google.pubsub.v1.SchemaService.DeleteSchemaRevision
google.pubsub.v1.SchemaService.RollbackSchema
google.pubsub.v1.Subscriber.CreateSnapshot
google.pubsub.v1.Subscriber.CreateSubscription
google.pubsub.v1.Subscriber.DeleteSnapshot
google.pubsub.v1.Subscriber.DeleteSubscription
google.pubsub.v1.Subscriber.ModifyPushConfig
google.pubsub.v1.Subscriber.UpdateSnapshot
google.pubsub.v1.Subscriber.UpdateSubscription
DATA_READ google.pubsub.v1.Publisher.GetTopic
google.pubsub.v1.Publisher.ListTopicSnapshots
google.pubsub.v1.Publisher.ListTopicSubscriptions
google.pubsub.v1.Publisher.ListTopics
google.pubsub.v1.Subscriber.GetSubscription
google.pubsub.v1.Subscriber.ListSubscriptions

API ์ธํ„ฐํŽ˜์ด์Šค ๊ฐ์‚ฌ ๋กœ๊ทธ

๋ฉ”์„œ๋“œ๋ณ„ ํ‰๊ฐ€ ๋ฐฉ๋ฒ• ๋ฐ ํ‰๊ฐ€ ๋Œ€์ƒ ๊ถŒํ•œ์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Pub/Sub์˜ Identity and Access Management ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

google.iam.v1.IAMPolicy

๋‹ค์Œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” google.iam.v1.IAMPolicy์— ์†ํ•˜๋Š” ๋ฉ”์„œ๋“œ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

GetIamPolicy

  • ๋ฉ”์„œ๋“œ: google.iam.v1.IAMPolicy.GetIamPolicy
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.getIamPolicy - ADMIN_READ
    • pubsub.topics.getIamPolicy - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.iam.v1.IAMPolicy.GetIamPolicy"

SetIamPolicy

  • ๋ฉ”์„œ๋“œ: google.iam.v1.IAMPolicy.SetIamPolicy
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.setIamPolicy - ADMIN_WRITE
    • pubsub.topics.setIamPolicy - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.iam.v1.IAMPolicy.SetIamPolicy"

google.pubsub.v1.Publisher

๋‹ค์Œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” google.pubsub.v1.Publisher์— ์†ํ•˜๋Š” ๋ฉ”์„œ๋“œ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

CreateTopic

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.CreateTopic
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.topics.create - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.CreateTopic"

DeleteTopic

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.DeleteTopic
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.topics.delete - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.DeleteTopic"

DetachSubscription

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.DetachSubscription
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.topics.detachSubscription - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.DetachSubscription"

GetTopic

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.GetTopic
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.topics.get - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.GetTopic"

ListTopicSnapshots

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.ListTopicSnapshots
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.topics.get - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopicSnapshots"

ListTopicSubscriptions

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.ListTopicSubscriptions
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.topics.get - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopicSubscriptions"

ListTopics

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.ListTopics
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.topics.list - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopics"

UpdateTopic

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Publisher.UpdateTopic
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.topics.update - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Publisher.UpdateTopic"

google.pubsub.v1.SchemaService

๋‹ค์Œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” google.pubsub.v1.SchemaService์— ์†ํ•˜๋Š” ๋ฉ”์„œ๋“œ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

CommitSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.CommitSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.schemas.commit - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.CommitSchema"

CreateSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.CreateSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.schemas.create - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.CreateSchema"

DeleteSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.DeleteSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.schemas.delete - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.DeleteSchema"

DeleteSchemaRevision

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.DeleteSchemaRevision
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.schemas.delete - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.DeleteSchemaRevision"

GetSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.GetSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.schemas.get - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.GetSchema"

ListSchemaRevisions

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.ListSchemaRevisions
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.schemas.listRevisions - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.ListSchemaRevisions"

ListSchemas

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.ListSchemas
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.schemas.list - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.ListSchemas"

RollbackSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.RollbackSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.schemas.rollback - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.RollbackSchema"

ValidateMessage

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.ValidateMessage
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.schemas.get - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.ValidateMessage"

ValidateSchema

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.SchemaService.ValidateSchema
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.schemas.validate - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.SchemaService.ValidateSchema"

google.pubsub.v1.Subscriber

๋‹ค์Œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” google.pubsub.v1.Subscriber์— ์†ํ•˜๋Š” ๋ฉ”์„œ๋“œ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

CreateSnapshot

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.CreateSnapshot
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.snapshots.create - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSnapshot"

CreateSubscription

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.CreateSubscription
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.create - ADMIN_WRITE
    • pubsub.topics.attachSubscription - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSubscription"

DeleteSnapshot

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.DeleteSnapshot
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.snapshots.delete - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.DeleteSnapshot"

DeleteSubscription

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.DeleteSubscription
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.delete - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.DeleteSubscription"

GetSnapshot

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.GetSnapshot
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.snapshots.get - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.GetSnapshot"

GetSubscription

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.GetSubscription
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.get - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.GetSubscription"

ListSnapshots

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.ListSnapshots
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.snapshots.list - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.ListSnapshots"

ListSubscriptions

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.ListSubscriptions
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.list - DATA_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.ListSubscriptions"

ModifyPushConfig

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.ModifyPushConfig
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.update - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.ModifyPushConfig"

Seek

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.Seek
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค
  • ๊ถŒํ•œ:
    • pubsub.snapshots.seek - ADMIN_READ
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.Seek"

UpdateSnapshot

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.UpdateSnapshot
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.snapshots.update - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.UpdateSnapshot"

UpdateSubscription

  • ๋ฉ”์„œ๋“œ: google.pubsub.v1.Subscriber.UpdateSubscription
  • ๊ฐ์‚ฌ ๋กœ๊ทธ ์œ ํ˜•: ๊ด€๋ฆฌ์ž ํ™œ๋™
  • ๊ถŒํ•œ:
    • pubsub.subscriptions.update - ADMIN_WRITE
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ž‘์—…์ธ์ง€ ์—ฌ๋ถ€: ์•„๋‹ˆ์š”.
  • ์ด ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ•„ํ„ฐ:: protoPayload.methodName="google.pubsub.v1.Subscriber.UpdateSubscription"

์‹œ์Šคํ…œ ์ด๋ฒคํŠธ

์‹œ์Šคํ…œ ์ด๋ฒคํŠธ ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ์‚ฌ์šฉ์ž์˜ ์ง์ ‘์ ์ธ ์ž‘์—…์ด ์•„๋‹ˆ๋ผ GCP ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ด ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ํ•„ํ„ฐ ์ฐธ๊ณ 
Internal.DeletedProjectRemoveSubscription protoPayload.methodName="Internal.DeletedProjectRemoveSubscription"
Internal.DeletedProjectRemoveTopic protoPayload.methodName="Internal.DeletedProjectRemoveTopic"
Subscriber.InternalExpireInactiveSnapshot protoPayload.methodName="Subscriber.InternalExpireInactiveSnapshot"
Subscriber.InternalExpireInactiveSubscription protoPayload.methodName="Subscriber.InternalExpireInactiveSubscription"
Subscriber.InternalSuspendSubscriptionKeyUnavailable protoPayload.methodName="Subscriber.InternalSuspendSubscriptionKeyUnavailable"

๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ

๋ฉ”์„œ๋“œ๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ด์œ ๋กœ ์ธํ•ด ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒ๋‹นํ•œ ๋กœ๊ทธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ์ง€ ๋น„์šฉ์ด ํฌํ•จ๋œ ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.
  • ๊ฐ์‚ฌ ๊ฐ’์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค.
  • ๋˜ ๋‹ค๋ฅธ ๊ฐ์‚ฌ ๋˜๋Š” ํ”Œ๋žซํผ ๋กœ๊ทธ์—์„œ ์ด๋ฏธ ๋ฉ”์„œ๋“œ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฉ”์„œ๋“œ๋Š” ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • google.pubsub.v1.Publisher.Publish
  • google.pubsub.v1.Subscriber.Acknowledge
  • google.pubsub.v1.Subscriber.ModifyAckDeadline
  • google.pubsub.v1.Subscriber.Pull
  • google.pubsub.v1.Subscriber.StreamingPull
  • tech.pubsub.PublisherService.CreateTopic
  • tech.pubsub.PublisherService.DeleteTopic
  • tech.pubsub.PublisherService.GetTopic
  • tech.pubsub.PublisherService.ListTopics
  • tech.pubsub.PublisherService.Publish
  • tech.pubsub.PublisherService.PublishBatch
  • tech.pubsub.SubscriberService.Acknowledge
  • tech.pubsub.SubscriberService.CreateSubscription
  • tech.pubsub.SubscriberService.DeleteSubscription
  • tech.pubsub.SubscriberService.GetSubscription
  • tech.pubsub.SubscriberService.ListSubscriptions
  • tech.pubsub.SubscriberService.ModifyAckDeadline
  • tech.pubsub.SubscriberService.ModifyPushConfig
  • tech.pubsub.SubscriberService.Pull
  • tech.pubsub.SubscriberService.PullBatch