使用 SDK 获取 Azure VM 的 IP

2023-12-11

我有一个已启动并在天蓝色中运行的虚拟机。我知道它的名称,但希望使用新的 C# SDK 以编程方式检索其 IP 地址并避免使用 REST API。我怎样才能做到这一点?


尝试这个:

string subId = "deadbeef-beef-beef-beef-beefbeefbeef";
string resourceGroup = "SORG01";
string vmName = "SORG01-BOX01";

using (var client = new ComputeManagementClient(credentials))
{
    client.SubscriptionId = subId;

    VirtualMachine vm = VirtualMachinesOperationsExtensions.Get(client.VirtualMachines, resourceGroup, vmName);

    networkName = vm.NetworkProfile.NetworkInterfaces[0].Id.Split('/').Last();
}

using (var client = new NetworkManagementClient(credentials))
{
    client.SubscriptionId = subId;
    var network = NetworkInterfacesOperationsExtensions.Get(client.NetworkInterfaces, resourceGroup, vmName);
    string ip = network.IpConfigurations[0].PrivateIPAddress;
}

要拥有这些类,您需要从 nuget 安装:

  • Microsoft.Azure.管理.计算
  • Microsoft.Azure.管理.计算.模型
  • Microsoft.Azure.管理.网络

请注意,您必须在 nuget 搜索窗口中选择“包括预发布”才能找到这些软件包。credentials is a Microsoft.Rest.TokenCredentials您以这种方式获得的对象:

var authContext = new AuthenticationContext("https://login.windows.net/{YourTenantId}");
var credential = new ClientCredential("{YourAppID}", "{YourAppSecret}");
var result = authContext.AcquireTokenAsync("https://management.core.windows.net/", credential);

result.Wait();
if (result.Result == null)
    throw new AuthenticationException("Failed to obtain the JWT token");

credentials = new TokenCredentials(result.Result.AccessToken);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SDK 获取 Azure VM 的 IP 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 使用“cat”将非英语字符写入.html文件(在R中)

    这是显示问题的代码 myPath getwd cat abcd append T file paste myPath temp1 html sep This is fine cat br br br append T file paste
  • python 如何检查当前时间是否在范围内?

    我需要检查当前时间是否在时间范围内 最简单的情况 time end gt time start if time 6 0 lt now time lt time 12 00 print 1 但是 当用户输入结束时间小于开始时间的时间范围时 就
  • 无法将 datagridview 的行可见设置为 false

    我有一个DataGridView我设置的地方DataSource taskerEntities te new taskerEntities var OMsMasterDescriptiveIndicators te MyTable Sele
  • LINQ - 获取所有父母的所有子记录

    我有两个模型 class Foo public List
  • Python 在循环内从 Csv 创建 XML

    我正在尝试从 csv 创建 xml 文件 CSV CatOne CatTwo CatThree ProdOne ProdTwo ProdThree ProductOne ProductTwo ProductThree 所需的 XML
  • 方案中模 m 的乘法逆元

    我已经编写了模 m 的乘法逆元的代码 它适用于大多数初始情况 但不适用于某些情况 代码如下 define inverse x m let loop x modulo x m a 1 cond zero x f x 1 a else let
  • Karate 支持 Neo4j 数据库吗?

    想知道是否空手道支持 Neo4j 数据库 如果是的话 希望有一个前任 功能会很有帮助 Karate 支持任何Java代码这样你就可以间接地做任何你想做的事情 请看一下这个 JDBC 示例 它将帮助您入门 dogs feature 您将需要编
  • 如何根据用户输入的高度和宽度打印字符串

    我确信这是一个简单的问题 但我的教授在解释事情方面很糟糕 因为我是计算机科学的新手 所以我需要帮助 任务是创建一个函数 根据用户选择的高度和宽度以不同的格式打印 返回用户给出的字符串 例如 如果用户字符串是 lt vvv 相同功能的另一个例
  • VBA - 在子程序中调用 Dir() 时使用 Dir() 循环

    我正在使用以下命令循环访问文件夹 Dim file As Variant file Dir myFolder While file lt gt mySub file lt this sub use Dir hundreds of times
  • 仅为我的公司页面创建 Facebook 标签

    我已经创建了一个公司页面 并想要创建一个只能安装在我的页面上的自定义选项卡 我知道如何创建应用程序并安装自定义选项卡 如何设置该应用程序以便只有我可以安装它 谢谢 对应用程序的 页面选项卡 URL 通过页面选项卡加载应用程序时使用的 URL
  • Tabhost 中的 ProgressDialog 不工作

    我在我的活动中使用三个进度对话框 OnCreate 当导航到下一页时 当导航到上一页时 但是当我第一次单击下一页按钮时 应用程序因错误而崩溃WINDOW LEAKED 这是我的代码 请有人告诉我做错了什么 public class Requ
  • 从 OleVariant 获取 IStream

    我正在使用 Delphi 和 WinHTTP 来执行 HTTP 请求以从 Internet 下载一些文件 并且我可以执行该请求 但我不知道如何从返回的 OleVariant 获取 IStreamResponseStream 我花了很多时间谷
  • Ant:以编程方式创建 JUnit 报告任务

    我使用 Ant API 以编程方式创建任务 但我还没有找到创建 JUnit 报告任务的类 简而言之 我想要使用 Ant API 的等效代码
  • PHP:一个 mysql_query 语句中的多个 SQL 查询

    所以我有一个需要使用 mysql query 加载的 SQL 转储文件 不幸的是 不可能用它执行多个查询 gt 不能假设mysql 命令行客户端 mysql help 已安装 用于直接加载 SQL 文件 gt 不能假设mysqli扩展已安装
  • Javascript自动更新页面?

    任何人都可以给我一个方向 我想知道如何像 Facebook 那样自动更新页面以获取新的状态更新 新的喜欢等 即 如果您在窗口中打开一个状态并且用户单击 喜欢 则 1 喜欢会自动出现 提前致谢 这些是使用 PUSH 模型 订阅 发布 完成的
  • 在 Eclipse 中运行 Java 程序,就像从命令行一样

    因此 我发现了一些与我类似的问题 但没有一个具体解决了我遇到的问题 我的程序将由命令行参数调用 例如 java Main inputFile txt inputFile2 txt 我正在 Eclipse 中编程并使用public void
  • UI 属性不包含某些键

    我有以下问题 我需要获取 UI 属性 UIManager getString OptionPane okButtonText 返回字符串 OK 并且它有效 但是 如果我迭代UIDefaults钥匙组 我从来没有拿到钥匙 OptionPane
  • 远程最小化机器 VBS 中的发送密钥

    我在 SAP 应用程序的对象中执行 Shift Enter 时遇到问题 这是我的代码 If Dialog SAP Logon 730 WinListView SysListView32 Exist 100 Then Dialog SAP L
  • 为什么我下载文件时有两个请求? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个提供文件的操作 public override FileContentResult Foo var someDataAsBytes return File someD
  • 使用 SDK 获取 Azure VM 的 IP

    我有一个已启动并在天蓝色中运行的虚拟机 我知道它的名称 但希望使用新的 C SDK 以编程方式检索其 IP 地址并避免使用 REST API 我怎样才能做到这一点 尝试这个 string subId deadbeef beef beef b