FYI - Я добавил запрос функции на uservoice, чтобы позволить службам Bluemix быть связанными с проектом, а затем доступ к учетным данным будет таким же образом, как и учетные данные доступа к приложению для приложений Bluemix. Пожалуйста, проголосуйте, если вы считаете, что это было бы полезно.
В настоящее время один шаблон я использую довольно много это создать ноутбук в моем проекте, который используется для сохранения учетных данных в файл на DSX:
! echo '{ "username": "xxxx", "password": "xxxx", ... }' > cloudant_creds.json
Этот файл теперь доступен для всех ваших ноутбуков в проекте. ПРИМЕЧАНИЕ: файл сохраняется в файловой системе искровой службы. Если вы используете ту же самую искровую службу в других проектах dsx, они также смогут получить доступ к файлу.
Учетные данные для облачных обычно включают в себя другие поля, такие как хост, я не показывал эти поля здесь, поэтому могу привести пример простым. Я указал, что есть больше полей с ...
. Обычно я копирую этот json из поля учетных данных службы bluemix.
В других ваших ноутбуков, вы читали мандатную что-то вроде этого:
with open('cloudant_creds.json') as data_file:
sourceDB = json.load(data_file)
Вы можете сослаться учетные данные, как это:
dfReader = sqlContext.read.format("com.cloudant.spark")
dfReader.option("cloudant.host", sourceDB.host)
if sourceDB.username:
dfReader.option("cloudant.username", sourceDB.username)
if sourceDB.password:
dfReader.option("cloudant.password", sourceDB.password)
df = dfReader.load(sourceDB.database).cache()
Спасибо, что это именно то, что моя конечная цель была, подключившись к службе IBM Bluemix Streaming Analytic, я проголосовал за запрос функции. –
Это также сделает ваш ноутбук работать, только если этот файл существует в этом месте, поэтому вы торгуете воспроизводимостью в пользу отсутствия учетных данных в ячейке кода ноутбука. Хорошо это или плохо, зависит от вашего варианта использования (просто хотел упомянуть здесь, для других, читающих это). –
Я согласен, что иногда лучше внедрять учетные данные, особенно если вы работаете только в небольшой команде. Однако даже наличие жестких кодированных учетных данных в ноутбуке не дает вам воспроизводимой среды. Если вы загружаете, делите или сохраняете ноутбук до git, и у вас есть учетные данные, жестко закодированные в ячейке ноутбука, скорее всего, вы хотите, чтобы ячейка была скрытой ячейкой, что означает, что вы не сможете воспроизвести среду в любом случае? –