问题标签 [azure-sdk-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1398 浏览

microsoft-cognitive - 由于订阅密钥无效或 API 端点错误而拒绝访问(认知服务自定义视觉)

我正在尝试连接到我的认知服务资源,但出现以下错误:

我用这样的方式创建了资源CognitiveServices

使用 kindCustomVision.Training也没有用。

我已经看过这个答案,但它不是同样的问题。我相信我正在输入正确的凭据和端点。

我检查了 Azure 门户和 customvision.ai 资源,我使用了正确的 URL 和密钥,但它不起作用。

在此处输入图像描述

我什至尝试重置密钥,但它也没有效果。

在此处输入图像描述

我还能够使用 REST API 运行它,获得 HTTP 200。

在此处输入图像描述

0 投票
1 回答
271 浏览

microsoft-cognitive - 如何使用 JavaScript 将一批图像上传到 Azure 自定义视觉

我想使用 JavaScript SDK 将一批 64 张图像上传到自定义视觉。

但我收到以下错误:

0 投票
1 回答
172 浏览

node.js - 如何使用 node.js 中的 azure/identity 模块进行身份验证?

我正在使用 node.js 应用程序(v12.18.2,不在浏览器中)访问 Azure blob 存储。我使用 @azure/storage-blob v10.5.0 的现有代码正在运行,身份验证代码如下所示:

使用此代码进行身份验证,然后使用,例如,ContainerURL.listBlobFlatSegment()列出对象完美地工作。我可以创建、获取、删除和列出对象。

当我升级到 @azure/storage-blob v12.1.2 时,发生了一些重大变化。现在我的代码看起来像:

在一台(Linux)机器上,我根本无法连接到服务器(create()调用超时)。在另一个(Windows)上,create()调用会抛出一个错误,告诉我“请求的 URI 不代表服务器上的任何资源”。

我已经验证了 URI 与工作代码使用的 URI 完全相同,但显然我在对身份验证过程的理解中遗漏了一些东西。如何让我的新代码做我旧代码所做的事情?

此外,似乎我必须先创建一个容器才能创建对象,而我以前不必这样做。这是我困惑的一部分吗?

0 投票
1 回答
36 浏览

azure-sdk-js - Azure 资源 NodeJS 应用程序需要交互式登录

我正在寻找一个 Azure 资源列表,例如 VM、AppServices 等,并可能通过 Azure SDK for NodeJS 进行交互(创建、删除、缩放等)。这些示例似乎演示/推动了交互式登录的使用。

我不想使用交互式登录的原因是我可以安排这些任务而不是需要交互。

例如,我查看了身份验证模块,它也专注于交互式登录。是否有另一种身份验证方式而不是交互方式,因为以前的 SDK 似乎允许通过机密和订阅 ID 进行身份验证:

0 投票
1 回答
56 浏览

azure-notificationhub - 通过 Node.js 向通知中心发送推送通知使用了新的 sdk

我找到了这个关于在 Node.js 应用程序中发送推送通知的操作指南,但是,它似乎正在使用现在不受支持的azure-sdk-for-node sdk。新推荐的 javascript ( azure-sdk-for-js) sdk 可在此处找到,但是,我发现很难将教程中描述的功能映射到新的 sdk。具体来说,新的存储库没有提到 a NotificationServiceHub,也没有提到createNotificationHubService方法。我找到了@azure/arm-notificationhubs,但这似乎仅用于管理目的。

是否可以通过新的 javascript sdk 发送推送通知?

0 投票
1 回答
52 浏览

javascript - @azure/search-documents javascript sdk,SearchDocumentResult 返回方面

SearchDocumentResult 的 facets 属性应该返回查询中涉及的方面及其值,对吗?但它只返回未定义。如果这是预期的行为,是否有另一种方法可以通过 sdk 咨询方面?

0 投票
1 回答
38 浏览

node.js - 使用 Azure SDK for JS 创建 .NET 4.x 应用服务

我开始怀疑这是否是这项工作的正确工具,仍然存在。

我正在尝试使用 Azure SDK for JS 自动创建我们的 Azure 测试环境。该环境涵盖许多服务(如您所想),包括经典 ASP.NET 应用程序服务。

Node 是我的安全空间,所以这就是我开始使用 JS SDK 的原因。

我已经开始使用WebSiteManagementClient.webApps.createOrUpdate. 我很困惑,似乎没有办法配置以下任何一项:

  1. 应用服务应连接到哪个应用服务计划。这感觉很基础。
  2. 操作系统,Windows 或 Linux。
  3. 堆栈版本、.NET 4.8、.NET Core 或其他。

是否可以使用 JS SDK 配置上述内容,还是我要找到另一种方法?

21 年 3 月 23 日更新

未经测试,但这些是我迄今为止的发现:

应用服务计划 - 该计划是使用接口的serverFarmId属性设置的Site

操作系统 - 假设 Windows 为默认设置,如果您想要 Linux 应用服务,则将kind属性Siteapp, 更改为app,linux

堆栈和版本 - 在SiteConfig界面中,您有linuxFxVersionwindowsFxVersion。同样,我认为假设是“最新的 .NET”(例如 .NET 4.8)。对于 .NET Core 3.1,设置看起来是DOTNETCORE|3.1.

0 投票
1 回答
211 浏览

node.js - 在 NodeJS 中列出 Azure 中的所有资源

我正在尝试使用 Azure SDK for Javascript 列出 Azure 订阅中的所有资源。我的方法是使用@azure/ms-rest-nodeauth包进行身份验证,然后从@azure/arm-resources包中调用 ResourceManagementClient,但我遇到了几个问题。

1. 应用注册

我选择使用msRestNodeAuth.loginWithServicePrincipalSecretWithAuthResponse(). 我进入 AzureAD 并创建了一个新的应用程序注册,然后在其中创建了一个秘密。这给了我可以提供给函数的 clientId、secret 和tenantId。

然而,我觉得我将面临的问题(一旦我真正让我的代码工作)是许可。我不知道需要对这个应用注册应用什么权限才能允许它查询这样的资源。

我在我看过的任何文档中都看不到这一点。

2. ESM / CJS 问题

我正在运行 NodeJS 的 v12.16.1。为了使用 ESM 导入语法,我提供了--experimental-modules标志,es-module-specifier-resolution=node以便在导入时不需要提供文件扩展名(package.json文件也已type: "module"设置)。这在许多包中都运行良好,但在上面的两个包中,导入似乎有一个包装器,我需要调用.default它才能访问实际函数:

在此处输入图像描述

例如:

...必须成为:

代码在执行此操作时有效,但我的猜测是包的构建方式/我的 NodeJS 设置的配置方式有些问题。我也不能从 导入ResourceManagementClient@azure/arm-resources而是必须这样做:

3. 把它们放在一起

当我尝试将它们放在一起并获取资源组列表时,出现错误:

对象 ID 为“abc678”的客户端“XYZ123”无权对范围“/subscriptions/123213123”执行操作“Microsoft.Resources/subscriptions/resourcegroups/read”或范围无效。如果最近授予访问权限,请刷新您的凭据。

我希望这只是一个身份验证错误,将在问题 #1 得到修复后解决 - 即应用注册获得所需的权限。

为这个问题的广泛范围道歉;我习惯在 AWS 中这样做,所以我试图同时掌握 Azure 和这个 SDK。任何帮助是极大的赞赏!

0 投票
1 回答
117 浏览

node.js - Azure 函数和 Azure 存储 - 实体已存在 - nodeJS

我知道在天蓝色存储表中插入实体的不同方法,但我找不到解决方案:

虽然我的函数是由队列触发的,但看起来有时尝试插入的实体已经存在于我的表中。

RowKey 是使用两个具有 4 位数字的数学随机生成的,我知道这可能并不理想,因为相同的数字可能会多次出现,但是您如何管理这种执行?

我使用输出绑定将数据发送到表,虽然这个绑定应该在终止函数进程之前尝试 5 次,但我只尝试了 1 次。(我需要检查任何配置吗?)

是否可以在发生错误时捕获错误并在重新提交之前将 rowkey 增加 1 或更多?如果是的话,你有什么可以让我效仿的例子吗?

使用输出绑定还是 JS sdk 都没有关系。

编辑:我做了一些测试:这是一种工作,但它是合法的吗?

现在存在 40 个,如果我再次运行,同样会在 finally 再次停止,因为在解决之前不会循环。

我是否应该在输入新实体之前查询表(具有大量条目)以检查密钥是否存在?这不会需要很长时间吗?

非常感谢您的帮助

编辑1:我一直在读到我无法真正捕捉到执行时的输出绑定错误,所以我尝试使用 tableservice (node js sdk)

这应该给出错误,因为实体存在,而不是函数继续执行并完成而不做任何事情。

0 投票
1 回答
115 浏览

node.js - 如何使用 nodejs azure SDK 启动具有 azure VM 映像的新 VM?

我使用了 AWS nodejs SDK 并使用 AMI(亚马逊机器映像)ID 创建了一个实例。现在,我需要为 Azure 复制相同的内容。我遇到了文档并找到了如下方法:

但是,我不确定如何创建映像(如 AWS 中的 AMI),然后使用映像 ID 在 Azure 中启动 VM。该文档似乎非常直截了当,并且缺乏像我这样的初学者所需的解释。是否有任何代码示例/示例对刚接触 azure 的人有用?