如何查找我的计算机的外部IP地址以进行azure sql server防火墙设置?它与我从Ipconfig命令(IPv4)获得的不同。我可以在azure门户网站上看到一个特定的IP地址,但想知道我是否可以从我的机器上看到它?如何?/ / p>
答案 0 :(得分:2)
有一个" AutoDetectClientIP"管理API调用,用于将现有防火墙例外更新为调用方的IP地址。
但您需要访问对给定订阅,订阅ID,SQL Azure服务器名称和防火墙例外名称有效的管理证书。
以下介绍如何使用该API。
public static bool SetFirewallRuleAutoDetect(string certFilename, string certPassword, string subscriptionId, string serverName, string ruleName)
{
try
{
string url = string.Format("https://management.database.windows.net:8443/{0}/servers/{1}/firewallrules/{2}?op=AutoDetectClientIP",
subscriptionId,
serverName,
ruleName);
HttpWebRequest webRequest = HttpWebRequest.Create(url) as HttpWebRequest;
webRequest.ClientCertificates.Add(new X509Certificate2(certFilename, certPassword));
webRequest.Method = "POST";
webRequest.Headers["x-ms-version"] = "1.0";
webRequest.ContentLength = 0;
// call the management api
// there is no information contained in the response, it only needs to work
using (WebResponse response = webRequest.GetResponse())
using (Stream stream = webResponse.GetResponseStream())
using (StreamReader sr = new StreamReader(stream))
{
Console.WriteLine(sr.ReadToEnd());
}
// the firewall was successfully updated
return true;
}
catch
{
// there was an error and the firewall possibly not updated
return false;
}
}
以上信息来自here。