我有一个Azure数据工厂Visual Studio项目,我使用Azure数据湖链接的服务。当我创建它们时,我必须首先授权它们。但是给定的授权在一段时间后过期,该时间以天为单位。
我找不到重新授权链接服务的选项。我尝试从门户重新授权另一个链接服务,并使用该授权在VS中创建的链接服务,但这不起作用。
我必须删除并重新创建链接的服务以获得新的授权。
是否缺少此功能,或者是否有另一种方法可以为VS中的数据湖链接服务获得新的授权?
目前,Visual Studio中没有显式的重新授权。你必须在VS中创建一个新的链接服务来获得授权代码,你可以在现有的链接服务中使用它。使用Azure门户,您可以再次单击"授权"按钮以获取新的授权代码,然后单击"部署"
您也可以根据需要使用服务原则,不确定2016年是否支持。
唯一需要注意的是,您需要Azure Active Directory (Azure AD)。
"typeProperties": {
//"authorization": "urn:ietf:wg:oauth:2.0:XXX",
//"sessionId": "XXX",
"dataLakeStoreUri": "https://XXX.azuredatalakestore.net/webhdfs/v1",
"accountName": "ACCOUNT_NAME_XXX",
"subscriptionId": "SUBSCRIPTION_GUID",
"resourceGroupName": "RESOURCE_GROUP_NAME",
"servicePrincipalId": "APPLICATION_CLIENT_ID",
"servicePrincipalKey": "APPLICATION_SECRET_KEY",
"tenant": "XXX.onmicrosoft.com"
}
在Azure AD中,您可以创建一个应用程序,然后为该应用程序添加对Azure数据湖的访问。在APPLICATION_CLIENT_ID, APPLICATION_SECRET_KEY中使用此应用程序的客户端id/客户端秘密,而不是过期的authorization
和sessionId
。
您可以从Azure门户的Azure AD中心控制客户端ID和客户端秘密的过期。
希望对你有帮助。
update:这是在Azure AD中注册应用程序的一个很好的起点https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-integrating-applications