2017-05-30 48 views
0

我想發佈在PythonStatusCode.PERMISSION_DENIED錯誤,同時發佈消息,谷歌的PubSub

這裏消息穀歌PubSub的是,我試圖

from google.cloud import pubsub 
ps = pubsub.Client() 
topic = ps.topic("topic_name") 
topic.publish("Message to topic") 

我提示以下錯誤:

代碼
File "/usr/local/lib/python2.7/dist-packages/google/cloud/iterator.py", line 218, in _items_iter 
    for page in self._page_iter(increment=False): 
    File "/usr/local/lib/python2.7/dist-packages/google/cloud/iterator.py", line 247, in _page_iter 
    page = self._next_page() 
    File "/usr/local/lib/python2.7/dist-packages/google/cloud/iterator.py", line 445, in _next_page 
    items = six.next(self._gax_page_iter) 
    File "/usr/local/lib/python2.7/dist-packages/google/gax/__init__.py", line 455, in next 
    return self.__next__() 
    File "/usr/local/lib/python2.7/dist-packages/google/gax/__init__.py", line 465, in __next__ 
    response = self._func(self._request, **self._kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/google/gax/api_callable.py", line 376, in inner 
    return a_func(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/google/gax/retry.py", line 127, in inner 
    ' classified as transient', exception) 
google.gax.errors.RetryError: GaxError(Exception occurred in retry method that was not classified as transient, caused by <_Rendezvous of RPC that terminated with (StatusCode.PERMISSION_DENIED, User not authorized to perform this action.)>) 

我已經下載了service-account.json,並將service-account.json的路徑設置爲GOOGLE_APPLICATION_CREDENTIALS 我也試過了installi NG gcloud和執行gcloud auth application-default login

請注意,我能夠發佈消息使用gcloud指令,並在Java

$ gcloud beta pubsub topics publish sample "hello" 
messageIds: '127284267552464' 

Java代碼 TopicName topicName = TopicName.create(SRC_PROJECT,SRC_TOPIC);

Publisher publisher = Publisher.defaultBuilder(topicName).build(); 
    ByteString data1 = ByteString.copyFromUtf8("hello"); 
    PubsubMessage pubsubMessage1 = PubsubMessage.newBuilder().setData(data1).build(); 
    publisher.publish(pubsubMessage1); 

python代碼中缺少什麼?

我跟隨了here

回答

0

這是我的設置問題描述的步驟。我的service-account.json沒有足夠的權限將消息發佈到PubSub

相關問題