gpt4 book ai didi

azure - 将第二代数据湖存储与 databricks 连接

转载 作者:行者123 更新时间:2023-12-04 17:41:11 29 4
gpt4 key购买 nike

我正在尝试将 MS Azure databricks 与数据湖存储 v2 连接,但无法匹配客户端、 secret 范围和 key 。

我在 Azure 数据湖 v2 中有数据。我正在尝试遵循以下说明:

https://docs.azuredatabricks.net/spark/latest/data-sources/azure/azure-datalake-gen2.html#requirements-azure-data-lake

我创建了一个具有“存储 Blob 数据贡献者”角色的“服务原则”,已获得

我已在 Azure Keyvault 和 Databricks 中使用键和值创建了 secret 范围

当我尝试下面的代码时,身份验证无法识别 secret 范围和 key 。从文档中我不清楚是否有必要使用 Azure Keyvault 或 Databricks secret 范围。

val configs = Map(
"fs.azure.account.auth.type" -> "OAuth",
"fs.azure.account.oauth.provider.type" -> "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id" -> "<CLIENT-ID>",
"fs.azure.account.oauth2.client.secret" -> dbutils.secrets.get(scope = "<SCOPE-NAME>", key = "<KEY-VALUE>"),
"fs.azure.account.oauth2.client.endpoint" -> "https://login.microsoftonline.com/XXXXXXXXXX/oauth2/token")

如果有人可以提供帮助,请告知/确认:

CLIENT-ID 应该是什么:我知道这来自存储帐户;

应该在 Azure Keyvault 或 Databricks 中的何处创建 SCOPE-NAME 和 KEY-VALUE?

最佳答案

https://login.microsoftonline.com/XXXXXXXXXX/oauth2/token 中的 XXXX应该是您的 TenantID(从门户 > 属性 > DirectoryID 中的 Azure Active Directory 选项卡获取)。

客户端 ID 是应用程序 ID/服务主体 ID(遗憾的是,这些名称在 Azure 世界中可以互换使用 - 但它们都是同一件事)。

如果您尚未创建服务主体,请按照以下说明操作:https://learn.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app#register-your-application-with-an-azure-ad-tenant - 确保在创建湖后授予服务主体访问权限。

您应该为主体 ID key 创建一个范围和 secret - 因为这是您想要对自由文本隐藏的内容。您还不能在 Databricks UI 中创建它。使用其中之一:

目前,我认为无法在 Azure KeyVault 中创建 secret - 尽管我希望将来能够看到这一点。从技术上讲,您可以使用 Key Vault 的 API 手动与 Key Vault 集成,但这会给您带来另一个麻烦,因为需要 secret 凭据才能连接到 Key Vault。

关于azure - 将第二代数据湖存储与 databricks 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54430249/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com