我想在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'
?
答案 0 :(得分: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')