我是Python新手,我正在尝试在azure门户上创建防火墙规则。但是,我得到了以下错误TypeError: create_or_update() takes 5 positional arguments but 6 were given
到目前为止,这是我的python脚本:
from azure.mgmt.resource.resources import ResourceManagementClient
from azure.mgmt.sql import SqlManagementClient
GROUP_NAME = 'xxxxxxxxx'
SERVER_NAME = 'xxxxxxxxx'
SUBSCRIPTION_ID = 'xxxxxxxxx'
credential = DefaultAzureCredential(
exclude_interactive_browser_credential=False)
client = ResourceManagementClient(
credential=credential,
subscription_id=SUBSCRIPTION_ID)
for resource_group in client.resource_groups.list():
print(f"Resource group: {resource_group.name}")
print(f"Successful credential: {credential._successful_credential.__class__.__name__}")
client = SqlManagementClient(credential, SUBSCRIPTION_ID)
print("Add firewall rule")
# Open access to this server for IPs
firewall_rule = client.firewall_rules.create_or_update(
GROUP_NAME,
SERVER_NAME,
"test_rule",
"123.123.123.123",
"123.123.123.123"
)

发布于 2021-08-10 10:28:35
如果您查看create_or_update definition here,
create_or_update(resource_group_name, server_name, firewall_rule_name, parameters, **kwargs)您会注意到parameters是FirewallRule类型的。您能否尝试创建此类型的对象并在您的方法中使用它?类似于:
firewallRule = FirewallRule(name="Something", start_ip_address="123.123.123.123", end_ip_address="123.123.123.123")
firewall_rule = client.firewall_rules.create_or_update(
GROUP_NAME,
SERVER_NAME,
"test_rule",
firewallRule
)https://stackoverflow.com/questions/68724972
复制相似问题