【发布时间】:2017-11-04 03:06:37
【问题描述】:
这周我一直在玩 PowerShell,为我们的部署创建一个新的 Azure 环境,最后一部分需要用 C# 编写的 WebJob 来接受来自队列的消息并创建一个新数据库并将结构创建为必填。
我想知道这里是否有人这样做过,我找到了 .NET 的 azure 管理库,其中包含数据库创建示例,但我坚持授权,因为这将通过后端进程完成?
我是否可以在我的 Azure 环境中创建信任以允许我的 WebJob 连接 Azure(尽管应用程序在同一个订阅中运行)并创建一个新数据库?
目前我真的没有任何代码更像想法,这就是我寻求帮助的原因:)
我假设我会使用这样的东西来进行身份验证?
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
"clientid",
"clientsecret",
"tenantid",
AzureEnvironment.AzureGlobalCloud);
// Connect to Azure
var azure = Azure.Authenticate(credentials).WithDefaultSubscription();
我认为我可能需要在 Azure 本身中做一些事情来信任 WebJob 有权创建新的 Azure 数据库,但这是我不确定的部分。
在 PowerShell 中,我通过让 PS 调出 Microsoft 实时登录屏幕来完成身份验证,但这对于没有 UI 的 WebJob 来说是不实用的。
希望这是有道理的,有人可以为我解释一下吗?
【问题讨论】:
-
你能把你的问题陈述更具体一点吗?您是否收到任何错误消息?你能发布你的代码吗?
-
尽可能多地更新问题,感谢您的评论。
-
为什么不在具有创建dbs权限的webjob主机(在Azure中)的web.config中存储一个秘密连接字符串,然后只使用EF代码?
标签: c# database azure authentication azure-webjobs