шаблоны потока данных gcp, ОШИБКА: (gcloud.beta.dataflow.jobs.run) INVALID_ARGUMENT: в версии среды отсутствует поддержка типа задания - PullRequest
0 голосов
/ 25 апреля 2020

полная ошибка

ОШИБКА: (gcloud.beta.dataflow.jobs.run) INVALID_ARGUMENT: (4361fe83f99d0cfe): не поддерживается тип задания с версией среды. Пожалуйста, попробуйте обновить SDK до последней версии. Инструкции по установке последней версии SDK можно найти по адресу https://cloud.google.com/dataflow/docs/guides/installing-beam-sdk. Если это не помогает, обратитесь за помощью в команду Cloud Dataflow по номеру https://cloud.google.com/dataflow/support.

промежуточная команда

mvn compile exec:java  -Dexec.mainClass=com.jobs.wordcount.TextToPubsub  -Dexec.args="--runner=DataflowRunner \
          --project=my_project \
          --stagingLocation=gs://bucket_name/tmp/staging \
          --templateLocation=gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub_metadata"

команда запуска

gcloud dataflow jobs run template_test \
--gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub_metadata \
--staging-location=gs:/my_bucket/tmp/staging \
--parameters \
inputFilePattern=gs://bucket_nam/input/*.json,\
outputTopic=projects/my_project/topics/testTopic

pom. xml

<?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
  http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>word_count_cicd_test</groupId>
    <artifactId>word_count_cicd_test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
     <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-sdks-java-core</artifactId>
        <version>[2.20.0, 2.99)</version>
    </dependency>

    <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId>
        <version>2.20.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.beam</groupId>
        <artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
        <version>[2.20.0, 2.99)</version>
    </dependency>
 </dependencies>

Код java и шаблон метаданных предоставлены Google

https://cloud.google.com/dataflow/docs/guides/templates/provided-streaming#gcstexttocloudpubsubstream

версия gcloud

bash-3.2$ gcloud version
    Google Cloud SDK 278.0.0
    beta 2019.05.17
    bq 2.0.52
    core 2020.01.24
    gsutil 4.47

Я получаю ту же ошибку при запуске в консоли. Я думаю, что это может быть связано с тем, что эта функция находится в бета-версии.

1 Ответ

2 голосов
/ 25 апреля 2020

gs: // dataflow-templates / latest / Stream_GCS_Text_to_Cloud_PubSub_metadata не является допустимым шаблоном. Это файл метаданных для шаблона, gs: //dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub.

Если вы хотите запустить предоставленную Google версию шаблона, вы можете установить --gcs_location=gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub в вашей команде gcloud.

Если вы хотите создать свой собственный шаблон, вам нужно будет использовать свое собственное ведро GCS в templateLocation в вашей команде подготовки.

...