Azure 自动化中的 PostgreSQL 规则

PostgreSQL rules in Azure automation

对于我现在正在处理的业务案例,我遇到了问题。我有一个必须在 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 防火墙的解决方案,这样这就不再是一项手动工作了?

我相信您可以通过利用 this REST API. You may call the REST API from Azure Automation PowerShell runbook with the help of Invoke-WebRequest cmdlet 完成为 PostgreSQL 创建新防火墙规则或更新现有防火墙规则的要求。

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