Azure CLI betik örneği - mantıksal uygulama oluşturma

Şunlar için geçerlidir: Azure Logic Apps (Tüketim)

Bu betik,az logicAzure CLI Logic Apps uzantısı () aracılığıyla örnek bir mantıksal uygulama oluşturur. Azure CLI aracılığıyla mantıksal uygulama oluşturma ve yönetmeye yönelik ayrıntılı bir kılavuz için Bkz. Azure CLI için Logic Apps hızlı başlangıcı.

Uyarı

Azure CLI Logic Apps uzantısı şu anda deneyseldir ve müşteri desteği kapsamında değildir. Özellikle uzantıyı üretim ortamlarında kullanmayı seçerseniz, bu CLI uzantısını dikkatli kullanın.

Önkoşullar

Önkoşul denetimi

Başlamadan önce ortamınızı doğrulayın:

Örnek iş akışı açıklaması

Bu örnek iş akışı tanım dosyası, Azure portal için hızlı başlangıçtakiyle aynı temel örnek Tüketim mantıksal uygulaması iş akışını oluşturur.

Bu örnek iş akışı:

  1. Mantıksal uygulama için bir şema $schema( ) belirtir.

  2. Tetikleyici listesinde mantıksal uygulama için bir tetikleyici tanımlar. triggers Tetikleyici 3 saatte bir yinelenir (recurrence). Eylemler, belirtilen RSS akışı (When_a_feed_item_is_published) için yeni bir akış öğesi yayımlandığında (feedUrl) tetiklenir.

  3. Eylem listesinde mantıksal uygulama için bir eylem actionstanımlar. Eylem, eylemin girişlerinin () gövde bölümünde (Send_an_email_(V2)) belirtildiği gibi RSS akışı öğelerindeki ayrıntıları içeren bir e-posta (bodyinputs) Microsoft 365 üzerinden gönderir.

Örnek iş akışı tanımı

Örnek betiği çalıştırmadan önce örnek bir iş akışı tanımı oluşturmanız gerekir.

  1. Bilgisayarınızda bir JSON dosyası testDefinition.json oluşturun.

  2. Aşağıdaki içeriği JSON dosyasına kopyalayın:

    
    {
        "definition": {
            "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
            "actions": {
                "Send_an_email_(V2)": {
                    "inputs": {
                        "body": {
                            "Body": "<p>@{triggerBody()?['publishDate']}<br>\n@{triggerBody()?['title']}<br>\n@{triggerBody()?['primaryLink']}</p>",
                            "Subject": "@triggerBody()?['title']",
                            "To": "test@example.com"
                        },
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['office365']['connectionId']"
                            }
                        },
                        "method": "post",
                        "path": "/v2/Mail"
                    },
                    "runAfter": {},
                    "type": "ApiConnection"
                }
            },
            "contentVersion": "1.0.0.0",
            "outputs": {},
            "parameters": {
                "$connections": {
                    "defaultValue": {},
                    "type": "Object"
                }
            },
            "triggers": {
                "When_a_feed_item_is_published": {
                    "inputs": {
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['rss']['connectionId']"
                            }
                        },
                        "method": "get",
                        "path": "/OnNewFeed",
                        "queries": {
                            "feedUrl": "https://www.pbs.org/now/rss.xml"
                        }
                    },
                    "recurrence": {
                        "frequency": "Hour",
                        "interval": 3
                    },
                    "splitOn": "@triggerBody()?['value']",
                    "type": "ApiConnection"
                }
            }
        },
        "parameters": {
            "$connections": {
                "value": {
                    "office365": {
                        "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365",
                        "connectionName": "office365",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/office365"
                    },
                    "rss": {
                        "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss",
                        "connectionName": "rss",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/rss"
                    }
                }
            }
        }
    }
    
    
  3. Yer tutucu değerlerini kendi bilgilerinizle güncelleştirin:

    1. Yer tutucu e-posta adresini ()"To": "test@example.com" değiştirin. Logic Apps bağlayıcılarıyla uyumlu bir e-posta adresi kullanmanız gerekir. Daha fazla bilgi için önkoşullara bakın.

    2. Office 365 Outlook bağlayıcısından farklı bir e-posta bağlayıcısı kullanıyorsanız ek bağlayıcı ayrıntılarını değiştirin.

    3. Connections00000000-0000-0000-0000-000000000000 parametresi () altındaki bağlantı tanımlayıcılarınızın (connectionId ve id) yer tutucu abonelik değerlerini ($connections) kendi abonelik değerlerinizle değiştirin.

  4. Yaptığınız değişiklikleri kaydedin.

Örnek betik

Not

Bu örnek kabuk için bash yazılmıştır. Bu örneği Windows PowerShell veya Komut İstemi gibi başka bir kabukta çalıştırmak istiyorsanız, betiğinizde değişiklik yapmanız gerekebilir.

Bu örnek betiği çalıştırmadan önce şu komutu çalıştırarak Azure'a bağlanın:


az login

Ardından, iş akışı tanımınızı oluşturduğunuz dizine gidin. Örneğin, masaüstünüzde iş akışı tanımı JSON dosyasını oluşturduysanız:


cd ~/Desktop

Ardından bir mantıksal uygulama oluşturmak için bu betiği çalıştırın.


#!/bin/bash

# Create a resource group

az group create --name testResourceGroup --location westus

# Create your logic app

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"

Dağıtımı temizleme

Örnek betiği kullanmayı tamamladıktan sonra aşağıdaki komutu çalıştırarak kaynak grubunuzu ve mantıksal uygulama da dahil olmak üzere iç içe tüm kaynaklarını kaldırın.


az group delete --name testResourceGroup --yes

Betik açıklaması

Bu örnek betik, yeni bir kaynak grubu ve mantıksal uygulama oluşturmak için aşağıdaki komutları kullanır.

Komut Notlar
az group create Mantıksal uygulamanızın kaynaklarının depolandığı bir kaynak grubu oluşturur.
az logic workflow create parametresinde --definitiontanımlanan iş akışını temel alan bir mantıksal uygulama oluşturur.
az group delete Bir kaynak grubunu ve iç içe yerleştirilmiş tüm kaynaklarını siler.

Sonraki adımlar

Azure CLI hakkında daha fazla bilgi için Bkz. Azure CLI belgeleri.

Ek Logic Apps CLI betik örneklerini Microsoft'un kod örnekleri tarayıcısında bulabilirsiniz.