我想通过一个python脚本这需要令牌通过databricks用户设置和调用get方法来获得非常久远的集群ID集群的细节产生的输入访问Azure的databricks火花集群。
下面的是代码片段。如图所示,我已经创造了southcentralus区集群。
import requests
headers = {"Authorization":"Bearer dapiad************************"}
data=requests.get("https://southcentralus.azuredatabricks.net/api/2.0/clusters/get?cluster_id=**************",headers=headers).text
print data
预期结果应该给集群如的全部细节。 {"cluster_id":"0128-******","spark_context_id":3850138716505089853,"cluster_name":"abcdxyz","spark_version":"5.1.x-scala2.11","spark_conf":{"spark.databricks.delta.preview.enabled":"true"},"node_type_id" and so on .....}
当我执行对谷歌colaboratory的代码,而同样是不符合我的本地IDE即怠速工作上面的代码工作。它提供了HTTP 403如下说明的错误:
<p>Problem accessing /api/2.0/clusters/get. Reason:
<pre> Invalid access token.</pre></p>
谁能帮我解决这个问题?我卡在这一部分,无法通过API来访问群集。
这可能是由于当你通过秘密编码问题。请看看这个问题,以及如何解决它。尽管分辨率他们已经给了AWS,也可能是类似一个为天青为好。你的秘密可能是具有“/”,你必须更换。
有一个在最后更新的密钥相关的“+”字符的已知问题。特别是,我们不再支持逃脱“+”到“%2B”,其中一些URL编码库做。
编码您的AWS密钥的当前最佳实践的方法就是
secretKey.replace("/","%2F")
样品python脚本给出如下:
New_Secret_key = "MySecret/".replace("/","%2F")
https://forums.databricks.com/questions/6590/s3serviceexception-raised-when-accessing-via-mount.html
https://forums.databricks.com/questions/6621/responsecode403-responsemessageforbidden.html