0

对于我现在正在处理的商业案例,我遇到了问题。我有一个必须在 Azure PostgreSQL 服务器 ( https://azure.microsoft.com/nl-nl/services/postgresql/ )上写入的设备。该设备具有动态 DNS(创建网络或类似的东西不是一个选项)。

我的第一个想法是创建一个 Azure 自动化运行手册,它将防火墙规则添加到 PostgreSQL 服务器。我创建了从 DNS 中提取 IP 的前几行,但似乎没有为 PostgreSQL 创建防火墙规则的选项。

代码:

$ips = [System.Net.Dns]::GetHostAddresses("dynamicdns.example.net")
$regex = [regex] "\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
$ip2 = $regex.Matches($ips) | %{ $_.value } 

有谁知道自动更新 PostgreSQL 防火墙的解决方案,所以这不再是手动工作了吗?

4

1 回答 1

0

我相信您可以通过利用此REST API来完成为 PostgreSQL 创建新防火墙规则或更新现有防火墙规则的要求。您可以在Invoke-WebRequest cmdlet的帮助下从 Azure 自动化 PowerShell 运行手册调用 REST API 。

理想情况下,您将在提供的前 3 行代码之后获得 IP 数组。您可能必须开发代码以循环调用上述 REST API 以添加所有检索到的 IP 数组。

于 2020-06-17T07:05:34.140 回答