可以选择从 terraform 为流分析作业创建托管身份(azurerm_stream_analytics_job
,使用身份 block )。
并且可以使用托管身份连接到数据库(如所述 here )
但我找不到如何使用托管身份来使用 azurerm_stream_analytics_reference_input_mssql
更新:
最佳答案
截至 2022 年 7 月
看起来 terraform 不支持它(请参阅 documentation )。
通过这个arm模板,我能够部署("authenticationMode": "Msi"
):
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"streamAnalyticsJobName": {
"type": "string"
},
"streamAnalyticsJobNameInputName": {
"type": "string"
},
"sqlServerName": {
"type": "string"
},
"databaseName": {
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.StreamAnalytics/streamingjobs/inputs",
"apiVersion": "2017-04-01-preview",
"name": "[format('{0}/{1}', parameters('streamAnalyticsJobName'), parameters('streamAnalyticsJobNameInputName'))]",
"properties": {
"type": "Reference",
"datasource": {
"type": "Microsoft.Sql/Server/Database",
"properties": {
"authenticationMode": "Msi",
"server": "[parameters('sqlServerName')]",
"database": "[parameters('databaseName')]",
"refreshType": "Static",
"fullSnapshotQuery": "SELECT Id, Name, FullName\nFrom dbo.Device\nFOR SYSTEM_TIME AS OF @snapshotTime --Optional, available if table Device is temporal"
}
}
}
}
]
}
因此,您始终可以使用 azurerm_template_deployment
资源来使用 terraform 进行部署。
关于azure - 使用 Azure 流分析托管标识通过 terraform 访问 SQL DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73148403/