更正JSON以发布到PubSub-数据流-BiqQuery?正确的数据模式?

问题描述 投票:2回答:1

我正在使用Google Cloud模板(Cloud Pub / Sub to BigQuery)中的google-pre-setup模板进行实验的第一步。

作为我最终目标(具有物理小工具向Google Cloud Pub / Bub报告数据流的里程碑),我的愿望是实现以下目标:

POSTMAN(使用JSON消息向Google Cloud Platform,GPC,端点发送经过身份验证的POST请求-> GPC发布/订阅-> GPC DataFlow-> GPC BigQuery。

现在,我正在执行模板https://cloud.google.com/dataflow/docs/templates/executing-templates,“示例2:自定义模板,流式作业”中找到该教程。本节指出:

...此示例projects.templates.launch请求创建一个流作业从读取发布/订阅主题并写入BigQuery表。 BigQuery表必须已经与适当的架构。如果成功,则响应正文包含一个LaunchTemplateResponse的实例。 ...

还有更多如何进行POST:

https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://[YOUR_BUCKET_NAME]/templates/TemplateName

{
    "jobName": "[JOB_NAME]",
    "parameters": {
        "topic": "projects/[YOUR_PROJECT_ID]/topics/[YOUR_TOPIC_NAME]",
        "table": "[YOUR_PROJECT_ID]:[YOUR_DATASET].[YOUR_TABLE_NAME]"
    },
    "environment": {
        "tempLocation": "gs://[YOUR_BUCKET_NAME]/temp",
        "zone": "us-central1-f"
    }
}

有两件事使我感到困惑。举个简单的例子来说,我有多辆车,他们应该不断报告其当前状态。我已经创建了MQTT主题:VEHICLE_STATUS。我的车辆每时每刻都应能够报告其:

  • 位置[String]
  • 速度[浮点]
  • 时间[字符串]
  • VehicleID [Integer]

========

我知道PubsubMessage的原型:

{
  "data": string,
  "attributes": {
    string: string,
    ...
  },
  "messageId": string,
  "publishTime": string,
}

我的问题:

  1. 我的BigQuery表架构应如何显示(我需要创建哪些列)?
  2. 整个对应的JSON消息应如何显示?我的车辆每次应向终点报告什么?
google-bigquery google-cloud-platform mqtt google-cloud-dataflow google-cloud-pubsub
1个回答
0
投票

这里有同样的问题。当使用MQTT作为正确的有效负载和BigQuery表时,找不到正确的消息正文...运气吗?

© www.soinside.com 2019 - 2024. All rights reserved.