用postman 推送消息到GCP的pubsub

创建1个Topic 和 2个 subscription

我们可以用terraform 去创建1个topic 和 2个subscriptions

# topic
resource "google_pubsub_topic" "topic_a" {
  name = "TopicA"
  project  = var.project_id
}


# subscriptions
resource "google_pubsub_subscription" "subscription_a1" {
  name     = "SubscriptionA1"
  topic    = google_pubsub_topic.topic_a.name
  project  = var.project_id
}

resource "google_pubsub_subscription" "subscription_a2" {
  name     = "SubscriptionA2"
  topic    = google_pubsub_topic.topic_a.name
  project  = var.project_id
}





在GCP 上验证

用postman 推送消息到GCP的pubsub_第1张图片





获得 这个Topic 的publish Rest url

获得 这个Topic 的publish Rest url
其实GCP products 的 rest url 有规律的
POST https://pubsub.googleapis.com/v1/projects/{project_id}topics/{topic_name}:publish





获得 这个Topic 的publish Rest url

基于某个gcp 账号获得1个临时的token

用个人账号 登录 gcloud

   gcloud auth login 

或者

用service account 登录 gcloud

   gcloud auth activate-service-account --key-file=[PATH_TO_JSON_KEY_FILE]

然后用下面命令获得1个token

gcloud auth print-access-token

请注意这个token只有1小时有效时间





设置postman request

我们在postman 新建1个 request
类型是Post

url 是 https://pubsub.googleapis.com/v1/projects/{project_id}topics/{topic_name}:publish
Content-Type 是 application/json

加1个header
key = Authrozation
value = Bearer <<临时token>>

payload 是

{
  "messages": [
    {
      "data": "SGVsbG8sIFdvcmxkIQ==",
      "attributes": {
        "attribute1": "value1",
        "attribute2": "value2"
      }
    }
  ]
}

其中data 里的数据必须用base 64加密





测试

发送成功是, api 会返回messageid
用postman 推送消息到GCP的pubsub_第2张图片

Console里也可以查看消息
用postman 推送消息到GCP的pubsub_第3张图片

你可能感兴趣的:(gcp,google,cloud,googlecloud)