2015-11-17 1 views
3

У меня есть автономное приложение для двух частей python: издатель и подписчик.Подписаться испускает Запретную ошибку

Издатель генерирует поддельные объекты устройств JSON и публикует их на канале под названием «устройства». И, как вы могли догадаться, абонент подписывается на канал «устройства».

(Помимо дополнительных аргументов командной строки, издатель или подписчик могут записывать объекты JSON в сокет или локальный каталог, где контекст Apache Spark Streaming захватывает объекты JSON и обрабатывает его. Пока что это не в изображение, так как это необязательно.)

Однако моя проблема заключается в том, что мой абонент работает, после того, как издатель закончил, я получаю сообщение «ERROR: Forbidden».

Вот соответствующие питон фрагменты кода для издателя:

pubnub = Pubnub(publish_key="my_key", subscribe_key="my_key") 
.... 
pubnub.publish(ch, device_msg) 

В файле подписчик питона У меня есть следующий код инициализации:

def receive(message, channel): 
    json.dumps(message) 

def on_error(message): 
    print ("ERROR: " + str(message)) 
.... 
pubnub = Pubnub(publish_key="my_keys", subscribe_key="my_keys") 

# subscribe to a channel and invoke the appropriate callback when a message arrives on that 
# channel 
# 
pubnub.subscribe(channels=ch, callback=receive, error=on_error) 
pubnub.start() 

В то время как издатель, при запуске, кажется, публиковать сообщения JSON, все 120 в цикле, в то время как абонент при запуске, кажется, терпит неудачу со следующим сообщением об ошибке:

ERROR: Forbidden 

Мои попытки использовать «демонстрационные» ключи не имеют значения. Обратите внимание, что я использую пробную учетную запись для PubNub.

Поскольку это одно из моих первых приложений, использующих его API, кто-нибудь видел эту проблему раньше. Конечно, что-то очень очевидное или тривиальное здесь.

+1

У вас есть Access Manager включен на ваших ключах в вашем PubNub acocunt? Если это так, прочитайте примечание к этому надстройку: * ПРИМЕЧАНИЕ. После включения диспетчера доступа вам необходимо предоставить разрешения перед отправкой данных. * Сообщите мне, если это была проблема. –

+0

Здравствуйте, Craig, Боясь AM, я отключил его и использовал только «демонстрационные» клавиши для sub/pub, но я получаю Forbidden errors. Я включил AM, после чего я предоставил мне ([email protected]) для своего приложения DevicesApp для «бесплатных» ключей. Ошибка «Добавить» не удалась с «Не удалось добавить этого пользователя». –

+0

Я не следую тому, что вы здесь говорите. демо-ключи не имеют диспетчера доступа, и вы не должны использовать их за все время запуска тестового запуска. На ваших ключах просто отключите диспетчер доступа и поработайте с ним. Любые дальнейшие проблемы, отправьте под-ключ, ошибки, журналы, код на [email protected], и мы обработаем там и опубликуем ответ здесь. –

ответ

0

Ответ был: была ошибка копирования/вставки с пабами/суб ключами.