当前位置: 首页 > 知识库问答 >
问题:

设置和使用GCP提供的pub-sub-to-big-query DataFlow模板

韩景胜
2023-03-14

我正在尝试将发布/订阅消息流式传输到具有匹配模式的BigQuery表中。我想使用GCP提供的PubSubbigQuery模板来完成此操作,但无法成功设置。

这是我目前为止尝试过的

>

  • 我创建了一个GCE实例,该实例具有写入GS的权限(有用的链接)

    从git克隆GCP源https://github.com/GoogleCloudPlatform/DataflowTemplates

    如这里所指定的,运行mvn compile-exec:java-Dexec。mainClass=com.google.云传送。模板。PubSubToBigQuery

    该进程创建了在/staging桶中创建的所有jar文件。它应该在/template桶中生成模板信息,但没有。

    我错过了什么?

  • 共有1个答案

    华心思
    2023-03-14

    我尝试在项目根目录中执行此命令:

    #!/bin/bash
    PROJECT_ID=XXX
    BUCKET_NAME=XXX
    PIPELINE_FOLDER=gs://YYY/dataflow/pipelines/pubsub-to-bigquery
    
    # Set the runner
    RUNNER=DataflowRunner
    
    # Build the template
    mvn compile exec:java \
    -Dexec.mainClass=com.google.cloud.teleport.templates.PubSubToBigQuery \
    -Dexec.cleanupDaemonThreads=false \
    -Dexec.args=" \
    --project=${PROJECT_ID} \
    --stagingLocation=${PIPELINE_FOLDER}/staging \
    --tempLocation=${PIPELINE_FOLDER}/temp \
    --templateLocation=${PIPELINE_FOLDER}/template \
    --runner=${RUNNER}"
    

    它成功生成了一个模板文件:

    $gsutil ls -lh gs://YYY/dataflow/pipelines/pubsub-to-bigquery/template
    228.33 KiB  2019-01-14T05:54:01Z  gs://YYY/dataflow/pipelines/pubsub-to-bigquery/template
    TOTAL: 1 objects, 233805 bytes (228.33 KiB)
    

    你能在你这边贴些原木吗?

     类似资料:
    • 如果我想发送消息到谷歌PubSub并使用它的消息。您建议使用Spring cloud GCP库还是只使用Google cloud Java API。 有人能区分这两者吗?或者与谷歌云pubsub库相比,Spring Cloud gcp提供了哪些功能。

    • 我正在构建一个事件驱动的微服务架构,它应该是云不可知的(尽可能多)<由于这最初是在GCP中进行的,我不想在配置和所有这些方面花费太长时间,我打算直接将GCP的发布/订阅用于事件队列,并在稍后处理其他云实现,但后来我遇到了Spring云数据流,这看起来很好,因为这些是Spring Boot微服务,我需要一种方法来协调它们 Spring Cloud数据流是否支持Pub Sub作为事件队列? 在配置和设

    • 我对GCP Pub/Sub REST API感到困惑。 背景:我正在尝试使用GCP发布/订阅编写一个应用程序,其中该语言不会作为客户端库退出(我正在尝试使用R)。 因此,我需要依赖提供的REST API:https://cloud.google.com/pubsub/docs/reference/rest 根据我对REST API的理解,我们必须使用pull订阅:https://cloud.goo

    • 我有一个谷歌云功能订阅了一个主题。当需要向用户发送电子邮件时,我们的Go API会向主题发布一条消息。GCF创建电子邮件对象并将其发送到SendGrid。问题是,90%的情况下,云函数会被调用两次。 订阅的确认截止日期是600秒,文件中明确说明GCF内部确认。 我知道PubSub保证后台功能至少一次交付和GCF至少一次执行。但是,这种情况在大多数情况下都会发生,我很确定这也是不对的。 有人有什么想

    • 我试图了解GCP pub/sub,但我有一个关于pub/sub中消息生命周期的问题。事实上,我把这篇文章作为我的参考。在这篇文章中,他们说: 一旦每个订阅的至少一个订阅者确认了该消息,Pub/Sub就从存储中删除该消息。 所以我的第一个问题是:例如,我有一个订阅a,它连接到订阅者X和订阅者Y。根据文档,当订阅者X收到消息并向订阅者a发送ACK时,Pub/Sub将从存储中删除消息,而不考虑订阅者Y是