- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试弄清楚如何将 HTTP 请求发送到我的应用程序的 Azure Databricks。目前我陷入了身份验证;每个请求都会返回 401 Unauthorzied 错误。
我按照他们的指南创建了个人访问 token 并检索了其 key 。这是我的代码,它将发送创建集群的请求:
var values = new Dictionary<string, string>
{
{ "cluster_name", "hello" },
{ "spark_version", "4.0.x-scala2.11" },
{"machine","eastus2" },//,
{"login","token" },
{"password", "dapi75dcd6e05815ae7bc52cc873b1b0f55c" }
};
var content = new FormUrlEncodedContent(values);
Debug.WriteLine("started");
var response = client.PostAsync("https://eastus2.azuredatabricks.net/api/2.0/clusters/get", content).Result;
var responseString = response.Content.ReadAsStringAsync().Result;
Debug.WriteLine(responseString);
但是这一直失败,我怀疑用户名和密码的键名是错误的,但我不知道如何找出正确的标签。
感谢您的帮助!
编辑:这是返回的内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 401 </title>
</head>
<body>
<h2>HTTP ERROR: 401</h2>
<p>Problem accessing /api/2.0/clusters/get. Reason:
<pre> Unauthorized</pre></p>
<hr />
</body>
</html>
最佳答案
根据Azure Databricks Rest API sample ,我们可以知道我们需要请求授权 header Authorization: Basic base64codestring
。
The token you got from above needs to be turned into a Base64 encoded string. The important thing to note is that you must ALSO include a prefix of "token:". So the full string to encode is something like "token:dapi56b...........d5"
我们可以从 create clusters API 获取尸体
{
"cluster_name": "my-cluster",
"spark_version": "4.0.x-scala2.11",
"node_type_id": "Standard_D3_v2",
"spark_conf": {
"spark.speculation": true
},
"num_workers": 25
}
以下是我的测试演示代码:
var url = "https://eastasia.xxxxxxx.net/api/2.0/clusters/create";
HttpClient client = new HttpClient();
var token = "token:dapi.......";
var body ="{\"cluster_name\": \"my-cluster\",\"spark_version\": \"4.0.x-scala2.11\",\"node_type_id\": \"Standard_D3_v2\",\"spark_conf\": { \"spark.speculation\": true},\"num_workers\": 25}"
client.DefaultRequestHeaders.Add("Authorization", "Basic "+ Base64Encode(token));
HttpContent content = new StringContent(body);
var response = client.PostAsync(url, content).Result;
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
Console.ReadKey();
测试结果
更新:
添加Base64Encode函数代码。
private static string Base64Encode(string plainText)
{
var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
return Convert.ToBase64String(plainTextBytes);
}
关于c# - 如何通过 .Net 使用 Azure Databricks 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51775509/
我已经开始阅读 Databricks 推出的 Unity Catalog。我了解它试图解决的基本问题,但我不了解目录到底是什么。 这在 Databricks 文档中可用, A catalog cont
我正在努力了解 Databricks。 我发现文档逐步从 S3 或 Azure Datalake 导入数据,然后输出到 Azure Synapse Analytics 或其他数据仓库解决方案。 快速播
我想以编程方式将(Python Wheel)库添加到 /Shared Databricks 上的工作区。在 GUI(工作区 > 导入 > 库)中很容易做到,但我无法弄清楚如何在 Databricks
我正在创建一个带有公司 Logo 的 databricks 笔记本模板。使用以下代码显示图像会引发错误。 代码: %md 错误: HTTP ERROR 403: Invalid or missing
我将使用这张图片来形象化我的问题: Databricks1 在 Databricks 中创建数据库(和表)并将其数据存储在存储帐户中。在Databricks2中我想读取数据:Databricks2只有
有没有办法通过 python 笔记本确定现有的 Azure Databricks Secret Scope 是否由 Key Vault 或 Databricks 支持? dbutils.secrets
我正在尝试连接到 Databricks 上的 Spark 集群,并且正在学习本教程:https://docs.databricks.com/dev-tools/dbt.html .我安装了 dbt-d
我们可以使用Autoloader跟踪是否已从 S3 存储桶加载的文件。我关于 Autoloader 的问题:有没有办法读取 Autoloader 数据库以获取已加载文件的列表? 我可以在 AWS Gl
我们可以使用一些帮助来了解如何将 Spark Driver 和 worker 日志发送到 Azure Databricks 之外的目的地,例如Azure Blob 存储或使用 Eleastic-bea
将我的 Azure Databricks 从标准升级到主要,尝试开始使用 Databricks Delta: create table t using delta as select * from t
现在,databricks 自动加载器需要一个目录路径,从中加载所有文件。但是,如果其他类型的日志文件也开始进入该目录 - 有没有办法让 Autoloader 在准备数据帧时排除这些文件? df =
有人可以让我知道如何使用 databricks dbutils 从文件夹中删除所有文件。 我尝试了以下但不幸的是,Databricks 不支持通配符。 dbutils.fs.rm('adl://azu
我是 azure 的新手和databricks ,我学会了如何安装 blob 和利用,但我有一些疑问,而且我还没有找到任何文档的任何答案。所以请帮我解释一下: dbutils.fs.mount(
尝试遍历已安装的 Databricks 卷中的目录时遇到 ClassCastException。 java.lang.ClassCastException: com.databricks.backen
尝试遍历已安装的 Databricks 卷中的目录时遇到 ClassCastException。 java.lang.ClassCastException: com.databricks.backen
我正在运行 Databricks Community Edition,我想从以下 mnt 目录中删除文件 /mnt/driver-daemon/jars 我运行 dbutils 命令: dbutils
我已经在我的机器上创建了“.netrc”文件并尝试在 databricks rest api 调用下面。但它总是给出未经授权的错误。如何在 Databricks 中创建 .netrc 文件? curl
没有意识到 shift+enter 运行一个单元格。我正在写一个 delete from table 并按下 shift enter 删除了表中的所有数据。 最佳答案 在 Delta Lake 表中,
我需要访问 Azure Files来自 Azure Databricks .根据文档 Azure Blobs受支持,但我需要此代码来处理 Azure 文件: dbutils.fs.mount( s
我正在尝试使用服务主体从 Databricks 连接到 Synapse。 我已经在集群配置中配置了服务主体 fs.azure.account.auth.type..dfs.core.windows.n
我是一名优秀的程序员,十分优秀!