我如何在笔记本段落中访问Zeppelin中存储的凭据?

问题描述 投票:0回答:1

我想在Zeppelin笔记本中使用一些凭据,但是,如果可能的话,我不想将凭据存储在笔记本中。我看过使用Zeppelin数据源凭据(有关here的文档);这很好地解释了如何创建/存储凭据,但我不知道如何访问它们。

对于一个具体的用例,我想存储一个秘密供我访问REST API。如果对凭据进行硬编码,我有一些代码可以工作,但是我想避免这种情况:

%pyspark
import requests

def get_sync_data(secret, sync_data_url):
    headers = {"Authorization": f"Bearer {secret}", "Content-Type": "application/json"}
    payload = "..."
    response = requests.get(url, headers=headers, json=payload)
    response.raise_for_status()
    return response.json()

get_sync_data('my_secret', 'http://sync.url/api')

是否有某种方法可以用我从Zeppelin的存储的数据源凭据中获取的值替换'my-secret'

apache-zeppelin
1个回答
0
投票

在版本0.8.2中,您可以使用凭据注入:https://zeppelin.apache.org/docs/latest/usage/interpreter/overview.html#credential-injection

因此您的示例可能类似于:

 %pyspark
import requests

def get_sync_data(secret, sync_data_url):
    headers = {"Authorization": f"Bearer {secret}", "Content-Type": "application/json"}
    payload = "..."
    response = requests.get(url, headers=headers, json=payload)
    response.raise_for_status()
    return response.json()

get_sync_data('{password.my_secret}', 'http://sync.url/api')
© www.soinside.com 2019 - 2024. All rights reserved.