You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求Azure ADF、TSI及流分析作业名称可用性查询的API/文档

检查Azure Data Factory、Time Series Insights和流分析作业的资源名称可用性

我帮你整理了这三个服务对应的名称可用性检查方案,和你用Key Vault的方式类似,分为REST API和Node.js SDK实现两部分:

一、REST API 端点(和Key Vault的API结构一致)

每个服务都提供了订阅级的名称检查API,请求和响应格式和Key Vault的checkNameAvailability几乎相同:

1. Azure Data Factory

  • 请求方法:POST
  • 端点:https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/checkNameAvailability?api-version=2018-06-01
  • 请求体示例:
{
  "name": "你的ADF实例名称",
  "type": "Microsoft.DataFactory/factories"
}
  • 响应会返回nameAvailable(布尔值)和message(名称不可用时的原因说明)。

2. Azure Time Series Insights (TSI) 环境

  • 请求方法:POST
  • 端点:https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/checkNameAvailability?api-version=2020-05-15
  • 请求体示例:
{
  "name": "你的TSI环境名称",
  "type": "Microsoft.TimeSeriesInsights/environments"
}

3. Azure 流分析作业

  • 请求方法:POST
  • 端点:https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/checkNameAvailability?api-version=2020-03-01
  • 请求体示例:
{
  "name": "你的流分析作业名称",
  "type": "Microsoft.StreamAnalytics/streamingJobs"
}

二、Node.js SDK 实现(适配你现有的代码风格)

你提到的azure-arm-datafactory、azure-arm-streamanalytics这些旧版管理库确实没有直接封装名称检查方法,但它们都继承自ServiceClient,可以通过底层的sendRequest方法直接调用上面的REST API,和你用Key Vault的逻辑保持一致:

Azure Data Factory 示例

import DataFactoryManagementClient from 'azure-arm-datafactory';

async function checkAdfNameAvailability(credentials, subscriptionId, adfName) {
  const client = new DataFactoryManagementClient(credentials, subscriptionId);
  
  const request = {
    method: 'POST',
    path: `/subscriptions/${subscriptionId}/providers/Microsoft.DataFactory/checkNameAvailability?api-version=2018-06-01`,
    body: {
      name: adfName,
      type: 'Microsoft.DataFactory/factories'
    }
  };

  const result = await client.sendRequest(request);
  console.log(result.nameAvailable);
  return result.nameAvailable;
}

Azure Time Series Insights 示例

import TimeSeriesInsightsManagementClient from 'azure-arm-timeseriesinsights';

async function checkTsiNameAvailability(credentials, subscriptionId, tsiName) {
  const client = new TimeSeriesInsightsManagementClient(credentials, subscriptionId);
  
  const request = {
    method: 'POST',
    path: `/subscriptions/${subscriptionId}/providers/Microsoft.TimeSeriesInsights/checkNameAvailability?api-version=2020-05-15`,
    body: {
      name: tsiName,
      type: 'Microsoft.TimeSeriesInsights/environments'
    }
  };

  const result = await client.sendRequest(request);
  console.log(result.nameAvailable);
  return result.nameAvailable;
}

Azure 流分析作业示例

import StreamAnalyticsManagementClient from 'azure-arm-streamanalytics';

async function checkStreamAnalyticsNameAvailability(credentials, subscriptionId, jobName) {
  const client = new StreamAnalyticsManagementClient(credentials, subscriptionId);
  
  const request = {
    method: 'POST',
    path: `/subscriptions/${subscriptionId}/providers/Microsoft.StreamAnalytics/checkNameAvailability?api-version=2020-03-01`,
    body: {
      name: jobName,
      type: 'Microsoft.StreamAnalytics/streamingJobs'
    }
  };

  const result = await client.sendRequest(request);
  console.log(result.nameAvailable);
  return result.nameAvailable;
}

注意事项

  • 确保使用的api-version是对应服务的最新稳定版本,避免兼容性问题
  • 请求体中的type参数必须严格匹配上面示例中的值,否则会返回错误
  • 你的身份验证凭据(credentials)需要有订阅级的Microsoft.Resources/checkNameAvailability权限

内容的提问来源于stack exchange,提问作者kalyan kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:02:37