5

Google Container Engineで実行中のScalaアプリケーション(つまりKubernetesで実行中)から既存のpubsubトピックに公開しようとしています。Google Cloud Platform:コンテナエンジンからPubsubにアクセスできない

私は(私が思う)基本的なクラスタのための適切な権限を有効にしている:私はScalaのアプリケーションを実行しようとすると、私は次のエラーを取得する、しかし

permissions

を:

2016-12-10T22:22:57.811982246Z Caused by: 
com.google.cloud.pubsub.PubSubException: java.lang.IllegalStateException: 
No NameResolverProviders found via ServiceLoader, including for DNS. 
This is probably due to a broken build. If using ProGuard, check your configuration 

フルスタックトレースhere

マイScalaのコードは、右クイックスタートガイドからほとんどです:

val TopicName = "my-topic" 
val pubsub = PubSubOptions.getDefaultInstance.getService 
val topic = pubsub.getTopic(TopicName) 
... 
topic.publish(Message.of(json)) 

私はいくつかの重要なKubernetes構成を欠落しているかもしれないと思うので、任意およびすべてのヘルプは非常に高く評価されます。

+0

まったく同じ質問は今、Googleのサポートフォーラムに座っている:私たちが使用最後にhttps://groups.google.com/forum/#!topic/cloud-pubsub-discuss/5OVkvyK6LwM –

+0

優れたSpotify GCP Pubsubライブラリ:https://github.com/spotify/async-google-pubsub-client –

答えて

3

私は、sbtが "com-google-cloud-pubsub"依存関係を管理しているときにこの問題が発生することを発見しました。これまでの私の作業は、私はmavenプロジェクトを作成し、その依存関係のみを持つjarファイルを作成しました。私はクラスパスと私のビルドにその瓶を追加しました。私は "com-google-cloud-pubsub"を "提供された"と注釈しました。私はこれがあなたのために働くことを望みます。

<dependencies> 
    <dependency> 
     <groupId>com.google.cloud</groupId> 
     <artifactId>google-cloud-pubsub</artifactId> 
     <version>0.8.0</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>3.0.0</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
      <executions> 
       <execution> 
        <id>assemble-all</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
関連する問題