我有一些Azure Python函数,我每天都会使用它们来构建和销毁VPN网关。在第一步中,我尝试使用该代码删除现有网关:
import azure.functions as func
from azure.identity import ClientSecretCredential
from azure.mgmt.network import NetworkManagementClient
import logging
def main(mytimer: func.TimerRequest) -> None:
logger = logging.getLogger("azure.core.pipeline.policies.http_logging_policy")
logger.setLevel(logging.WARNING)
subscription_id ="xxx"
client_id ="xxx"
secret="xxx"
tenant="xxx"
rgroup = "xxx"
gateway = "xxx"
credential = ClientSecretCredential(
tenant_id=tenant,
client_id=client_id,
client_secret=secret
)
network_client = NetworkManagementClient(credential, subscription_id )
LROPoller = network_client.vpn_gateways.begin_delete(rgroup, gateway)
logging.info(str(LROPoller.status()))
从LROPoller.status的结果是成功的,但仍然网关是在我的环境中。不幸的是,文档是次优,所以我不明白我做错了什么。
1条答案
按热度按时间eqqqjvef1#
我在自己的环境中尝试,得到了以下结果:
您可以使用Python代码删除虚拟网络(VPN)网关,也可以将它们添加到Azure函数应用程序代码中。
代码:
输出:
对于创建,您可以使用以下代码:
代码:
注意:根据MS-Docs,一个虚拟vpn网关可能需要45分钟或更长的时间来完全创建和部署。
参考:
azure.mgmt.network.v2016_12_01.operations.VirtualNetworkGatewaysOperations class | Microsoft Learn