gpt4 book ai didi

c# - 使用 Fluent API 在 C# 中创建 Azure 存储帐户,且不允许 Blob 公共(public)访问

转载 作者:行者123 更新时间:2023-12-03 03:54:03 24 4
gpt4 key购买 nike

我的目标是使用 Fluent API (Microsoft.Azure.Management.Fluent) 从 C# 代码创建 Azure 存储帐户。

我的代码执行正确,但我的组织有一项策略,该策略要求创建所有存储帐户时必须将“允许 Blob 公共(public)访问”设置为“禁用”。有什么方法可以使用 Fluent 方法将其指定为选项吗?

                TargetStorageAccount = AzureClient.StorageAccounts.Define(storageAccountName)
.WithRegion(Region.AustraliaCentral)
.WithExistingResourceGroup(ResourceGroupName)
.WithSku(StorageAccountSkuType.Standard_LRS)
.WithGeneralPurposeAccountKindV2()
.Create();

最佳答案

您可以使用 ARM 模板部署存储帐户,并将“允许 Blob 公共(public)访问”设置为禁用。

为了快速演示,这是我的存储帐户模板:

{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},

"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), '4testonly')]"
},
"resources": [{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-04-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true,
"allowBlobPublicAccess": false
}
}
],
"outputs": {
"result": {
"type": "string",
"value": "done"
}
}
}

allowBlobPublicAccess 设置为 false。

这是使用 Fluent API 创建此部署的代码:

    var storageAccountName = "<your new storage account name>";

var templateJson = File.ReadAllText(@"<path of template file>\storageOnly.json");

azure.Deployments.Define("storageDepolyTest")
.WithExistingResourceGroup("<your resource group name>")
.WithTemplate(templateJson)
.WithParameters("{\"storagePrefix\":{\"value\":\""+ storageAccountName + "\"}}")
.WithMode(DeploymentMode.Incremental)
.Create();

结果:

enter image description here

关于c# - 使用 Fluent API 在 C# 中创建 Azure 存储帐户,且不允许 Blob 公共(public)访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65347572/

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