流分析作业 -> 数据湖输出
Stream Analytics Job -> DataLake ouput
我想使用 StreamAnalytics 作业设置 CI/CD(ARM 模板),并将输出设置为 DataLake Store。
https://docs.microsoft.com/en-us/azure/templates/microsoft.streamanalytics/streamingjobs/outputs#microsoftdatalakeaccounts
问题来自refreshToken:
"建议在创建数据源时在这里放置一个虚拟字符串值
然后去 Azure 门户验证数据源
这将使用有效的刷新令牌更新此 属性"
此外,90 天刷新令牌已过时,您需要执行 "Renvew Authorization"
https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-data-lake-output#renew-data-lake-store-authorization
我尝试授权 ServicePrincipal。
如何使用DataLake 自动部署ASA?
如何处理这个 90 天令牌有效期的问题?
也许你擦掉了踪迹:)
目前还不可能。带来不便敬请谅解。但是我们知道这非常重要,我们将在不久的将来添加服务主体身份验证(我们正在查看确切的预计到达时间)。
同时您需要手动更新令牌。这可以在不丢失任何数据的情况下完成,方法是 (1) 停止作业,(2) 更改令牌,然后 (3) 重新启动上次停止的作业。
如果您有任何问题,请告诉我。
据我所知,基于 MSI 的身份验证很快就会处于预览状态。
但是,如果您需要立即解决方案(例如,能够让 VSTS 管道 运行 无错误地通过),您可以执行以下操作:
创建模板(例如使用 CICD NuGet 包 [1])
操纵ARM模板<jobName>.JobTemplate.json
- 为 ADLS 输出对象添加输出数据源对象
- 如果您使用 Visual Studio,您可以很容易地从 ADLS 输出中获取值 JSON
- 将
refreshToken
设置为某个假值很重要
喜欢以下内容:
"outputs": [
{
"name": "xxx",
"properties": {
"serialization": {
"type": "Json",
"properties": {
"encoding": "UTF8",
"format": "LineSeparated"
}
},
"datasource": {
"type": "Microsoft.DataLake/Accounts",
"properties": {
"accountName": "xxx",
"tenantId": "xxx-xxx-xxx-xxx-xxx",
"tokenUserPrincipalName": "xxx@xxx.com",
"tokenUserDisplayName": "xxx, xxx",
"filePathPrefix": "xxx/{date}/{time}",
"dateFormat": "yyyy/MM/dd",
"timeFormat": "HH",
"refreshToken": "faketoken"
}
}
}
},
...
部署 ARM 模板
作业会成功启动,但需要更新token,因此
停止作业
更新 ADLS 输出的身份验证
开始工作
资源
我想使用 StreamAnalytics 作业设置 CI/CD(ARM 模板),并将输出设置为 DataLake Store。 https://docs.microsoft.com/en-us/azure/templates/microsoft.streamanalytics/streamingjobs/outputs#microsoftdatalakeaccounts
问题来自refreshToken: "建议在创建数据源时在这里放置一个虚拟字符串值 然后去 Azure 门户验证数据源 这将使用有效的刷新令牌更新此 属性"
此外,90 天刷新令牌已过时,您需要执行 "Renvew Authorization" https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-data-lake-output#renew-data-lake-store-authorization
我尝试授权 ServicePrincipal。
如何使用DataLake 自动部署ASA? 如何处理这个 90 天令牌有效期的问题?
也许你擦掉了踪迹:)
目前还不可能。带来不便敬请谅解。但是我们知道这非常重要,我们将在不久的将来添加服务主体身份验证(我们正在查看确切的预计到达时间)。
同时您需要手动更新令牌。这可以在不丢失任何数据的情况下完成,方法是 (1) 停止作业,(2) 更改令牌,然后 (3) 重新启动上次停止的作业。
如果您有任何问题,请告诉我。
据我所知,基于 MSI 的身份验证很快就会处于预览状态。
但是,如果您需要立即解决方案(例如,能够让 VSTS 管道 运行 无错误地通过),您可以执行以下操作:
创建模板(例如使用 CICD NuGet 包 [1])
操纵ARM模板
<jobName>.JobTemplate.json
- 为 ADLS 输出对象添加输出数据源对象
- 如果您使用 Visual Studio,您可以很容易地从 ADLS 输出中获取值 JSON
- 将
refreshToken
设置为某个假值很重要
喜欢以下内容:
"outputs": [
{
"name": "xxx",
"properties": {
"serialization": {
"type": "Json",
"properties": {
"encoding": "UTF8",
"format": "LineSeparated"
}
},
"datasource": {
"type": "Microsoft.DataLake/Accounts",
"properties": {
"accountName": "xxx",
"tenantId": "xxx-xxx-xxx-xxx-xxx",
"tokenUserPrincipalName": "xxx@xxx.com",
"tokenUserDisplayName": "xxx, xxx",
"filePathPrefix": "xxx/{date}/{time}",
"dateFormat": "yyyy/MM/dd",
"timeFormat": "HH",
"refreshToken": "faketoken"
}
}
}
},
...
部署 ARM 模板
作业会成功启动,但需要更新token,因此
停止作业
更新 ADLS 输出的身份验证
开始工作