Azure 搜索:如何使用 C# 以编程方式创建和删除帐户

Azure Search: How to create and delete an account programmatically using C#

我想使用 C# 以编程方式创建一个 Cognitive Search Service 帐户(具有基本配置)并按需删除它。是否有任何文档可以执行此操作?

我能够找到创建和删除索引的文档,但我需要更上一层楼来创建和删除帐户。我需要这样做以降低成本。例如,当我不积极进行开发测试时,我需要删除服务帐户以避免收费。

您可以使用 ARM templates 通过 REST API 管理您的 Azure 资源。要获取认知搜索服务的 ARM 模板,您可以创建示例服务并从 Azure 门户 Settings 下的 Export template 下载模板。

您可以试试 Azure CLI。这具有用于创建和删除搜索服务的所有端点。

参考:https://docs.microsoft.com/en-us/cli/azure/search/service?view=azure-cli-latest

az login -u <username> -p <password>
#SKU List --> https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.search.models.skuname?view=azure-dotnet 
az search service create --name "<SEARCH SERVICE NAME>"  --resource-group "<RESOURCE GROUPNAME>" --sku "<SKU ENUM>" --subscription "YOUR SUBSCRIPTION ID"

脚本可以与 C# 应用程序结合并按需调用它。

或者,我正在检查 Azure CLI 调用的底层端点是什么。您可以参考我的 以获取有关 'How To'.

的更多信息

要求:

请求正文:

您也可以尝试直接从 C# 应用程序访问此端点。

同样的事情也适用于删除。

az search service delete --name
                         --resource-group
                         [--subscription]
                         [--yes]

我没用过 Cognitive 和 C#,但你可以从 here.

找到 Azure 资源管理包

您将找到帐户操作。

也许你可以在Github中通过上面的关键字搜索,找到这段代码。

       //public static CognitiveServicesAccount CreateAndValidateAccountWithOnlyRequiredParameters(CognitiveServicesManagementClient cognitiveServicesMgmtClient, string rgName, string skuName, string accountType = Kind.Recommendations, string location = null)
        //{
        //    // Create account with only required params
        //    var accountName = TestUtilities.GenerateName("csa");
        //    var parameters = new CognitiveServicesAccountCreateParameters
        //    {
        //        Sku = new Microsoft.Azure.Management.CognitiveServices.Models.Sku { Name = skuName },
        //        Kind = accountType,
        //        Location = location ?? DefaultLocation,
        //        Properties = new object(),
        //    };
        //    var account = cognitiveServicesMgmtClient.CognitiveServicesAccounts.Create(rgName, accountName, parameters);
        //    VerifyAccountProperties(account, false, accountType, skuName, location ?? DefaultLocation);

        //    return account;
        //}