如何使文件只发送一次不重复? Function App 和 blob 存储容器

How to make the file sent only once and not duplicated? Function App and blob storage container

我有这个功能的应用程序,当我把一个文件放在blob存储容器上时,我得到了一次文件! 当我放置 2 个文件时,我的电子邮件收件人收到 4 个文件,同一个文件两次!当我放 3 个文件时我得到 9 个文件,同一个文件重复 3 次,当我放 4 个文件时我得到 16 个文件和同一个文件重复 4 次,如何解决这个问题?

这是我的函数应用程序:

由于 Send an email (V2) 连接器用于 Lists blob value 的每个循环,您将收到一式两份的所有内容,因为它遍历了您设置的 folder/container。从我们的终端复制后,当我们将 Get Blob 的 Blob 路径更改为 When a blob is added or modified (properties only) (V2)List of Files Path 并且也在 Send email 中使用 When a blob is added or modified (properties only) (V2) 内容时,它正在工作,我们可以收到电子邮件当前项目一次。

这是我的逻辑应用程序的架构

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Get_blob_content_(V2)_2": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['azureblob']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/files/@{encodeURIComponent(encodeURIComponent(triggerBody()?['Path']))}/content",
                    "queries": {
                        "inferContentType": true
                    }
                },
                "runAfter": {
                    "Lists_blobs_(V2)": [
                        "Succeeded"
                    ]
                },
                "type": "ApiConnection"
            },
            "Lists_blobs_(V2)": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['azureblob']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/foldersV2/@{encodeURIComponent(encodeURIComponent('JTJmY29udGFpbmVyMQ=='))}",
                    "queries": {
                        "nextPageMarker": "",
                        "useFlatListing": false
                    }
                },
                "metadata": {
                    "JTJmY29udGFpbmVyMQ==": "/container1"
                },
                "runAfter": {},
                "type": "ApiConnection"
            },
            "Send_an_email_(V2)": {
                "inputs": {
                    "body": {
                        "Body": "<p>@{triggerBody()}</p>",
                        "Subject": "@triggerBody()?['DisplayName']",
                        "To": "<To email id>"
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365']['connectionId']"
                        }
                    },
                    "method": "post",
                    "path": "/v2/Mail"
                },
                "runAfter": {
                    "Get_blob_content_(V2)_2": [
                        "Succeeded"
                    ]
                },
                "type": "ApiConnection"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            }
        },
        "triggers": {
            "When_a_blob_is_added_or_modified_(properties_only)_(V2)": {
                "evaluatedRecurrence": {
                    "frequency": "Second",
                    "interval": 1
                },
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['azureblob']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/triggers/batch/onupdatedfile",
                    "queries": {
                        "checkBothCreatedAndModifiedDateTime": false,
                        "folderId": "JTJmY29udGFpbmVyMQ=="
                    }
                },
                "metadata": {
                    "JTJmY29udGFpbmVyMQ==": "/container1"
                },
                "recurrence": {
                    "frequency": "Second",
                    "interval": 1
                },
                "splitOn": "@triggerBody()",
                "type": "ApiConnection"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "azureblob": {
                    "connectionId": "/subscriptions/***/resourceGroups/***/providers/Microsoft.Web/connections/azureblob",
                    "connectionName": "azureblob",
                    "id": "/subscriptions/***/providers/Microsoft.Web/locations/centralus/managedApis/azureblob"
                },
                "office365": {
                    "connectionId": "/subscriptions/***/resourceGroups/***/providers/Microsoft.Web/connections/office365",
                    "connectionName": "office365",
                    "id": "/subscriptions/***/providers/Microsoft.Web/locations/centralus/managedApis/office365"
                }
            }
        }
    }
}