如何使用 azure-sdk-python 创建具有标准计划的 Azure 逻辑应用How to create an Azure logic app with a standard plan using azure-sdk-python

How to create an Azure logic app with a standard plan using azure-sdk-python

提问人:Jasneet Singh 提问时间:11/17/2023 更新时间:11/21/2023 访问量:34

问:

我正在尝试使用 azure-sdk-for-python 自动执行逻辑应用创建过程。

这是我的 python 脚本。

import schedule
import time
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.logic import LogicManagementClient

def create_logic_app(iteration):
    subscription_id = ''  # replace with your Azure subscription ID
    resource_group_name = ''  # replace with your resource group name
    logic_app_name = f'Twa_{iteration}'  # Unique name for each Logic App
    location = 'East US'  # Azure region

    credential = DefaultAzureCredential()
    resource_client = ResourceManagementClient(credential, subscription_id)
    logic_client = LogicManagementClient(credential, subscription_id)
 
    print("Creating/Updating resource group...")
    resource_client.resource_groups.create_or_update(resource_group_name, {'location': location})

    logic_app_parameters = {
        'location': location,
        "properties": {
            "definition": {
                "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
                "actions": {
                    "Compose": {
                        "inputs": "Insert logic",
                        "runAfter": {},
                        "type": "Compose"
                    }
                },
                "contentVersion": "1.0.0.0",
                "outputs": {},
                "triggers": {
                    "Recurrence": {
                        "recurrence": {
                            "frequency": "Minute",
                            "interval": 3
                        },
                        "type": "Recurrence"
                    }
                }
            },
            "kind": "Stateful"
        }
            # Additional parameters here
    }


    print(f"Creating/Updating Logic App: {logic_app_name}...")
    logic_client.workflows.create_or_update(resource_group_name, logic_app_name, logic_app_parameters)
    
    print(f"Logic App {logic_app_name} created/updated successfully.")

def job():
    for i in range(10):
        create_logic_app(i)

create_logic_app("recurrence")

当前脚本正在创建具有计划类型:consumption 的逻辑应用。我想创建具有“计划”类型:标准版的逻辑应用。

我怎样才能做到这一点?

python azure-logic-apps azure-sdk-python

评论

0赞 Skin 11/18/2023
这个答案很旧,但 MS 提供的方法的链接仍然是最新的......stackoverflow.com/questions/72008546/.........从根本上说,我认为不可能使用SDK,你需要使用REST调用。

答:

0赞 Venkatesan 11/21/2023 #1

当前脚本正在创建具有计划类型:consumption 的逻辑应用。我想创建具有“计划”类型:标准版的逻辑应用。

我同意 Skin 的评论,可能无法使用 SDK,因此您需要使用 REST 调用Azure CLI 命令来创建标准计划类型。

您可以参考此 MS 文档。截至目前,可以使用 Azure CLI 命令创建具有标准计划类型的逻辑应用的简单方法。

命令:

az logicapp create -g <your-resource-group> --subscription <your-subscription-id> -p "<plan name or resource Id of app service plan>" -n myLogicApp3261 -s <storage account name>

输出:

PS /home/xxx> az logicapp create -g <your-resource-group> --subscription <your-subscription-id> -p "<plan name or resource Id of app service plan>" -n myLogicApp3261 -s <storage account name>
Application Insights "myLogicApp3261" was 
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": false,
  "clientCertEnabled": false,
  "clientCertExclusionPaths": null,
  "clientCertMode": "Required",
  "cloningInfo": null,
  "containerSize": 1536,
  "customDomainVerificationId": "A18xxxx0034F7C3E60zzzzzzz3",
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "mylogicapp3261.azurewebsites.net",
  "enabled": true,
  "enabledHostNames": [
    "mylogicapp3261.azurewebsites.net",
    "mylogicapp3261.scm.azurewebsites.net"
  ],

enter image description here

门户:

enter image description here

参考:

az logicapp |Microsoft 学习