Logic Apps Blob覆盖同名文件

时间:2017-08-24 15:45:25

标签: azure-logic-apps

所以我通过Http-Request-Trigger将以下JSON发布到Logic App。

{
    "RequestMetaDataValue": {
        "RequestMetaDataUuid": "33333333-3333-3333-3333-333333333333"
    },
    "OtherStuff": [{
        "OtherStuffUuid": "11111111-1111-1111-1111-1111",
        "OtherStuffString": "peanut"
    },
    {
        "OtherStuffUuid": "e5dceac3-51cb-477b-b3a9-bd08f351cc0e",
        "OtherStuffString": "banana"
    }]
}

Logic App解析Json,因此我可以提取RequestMetaDataUuid值。在这种情况下“33333333-3333-3333-3333-333333333333”。

然后我使用Create Blob(action?),如下所示:

https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-azureblobstorage

它在我的设计师中的样子

enter image description here

非常直接。

这是问题所在。

如果我重新发送(相同的)Json,blob /文件会在blob中被覆盖

例如,如果我改变

"OtherStuffUuid": "11111111-1111-1111-1111-1111",

"OtherStuffUuid": "aaaaaaaa-1111-1111-1111-1111",

原本有“OtherStuffUuid”的blob:“11111111-1111-1111-1111-1111”永远不会落地。 :(

如果反正要防止覆盖?

有没有检查blob /文件已经存在(我的偏好)在blob存储中?

APPEND

根据答案,我尝试添加以下预检。

enter image description here

此处的文档:

https://docs.microsoft.com/en-us/connectors/azureblob/#Get_Blob_Metadata_using_path

  

使用路径操作ID获取Blob元数据:GetFileMetadataByPath这   操作使用路径检索blob元数据。

     

必需参数Blob path string指定blob的唯一路径   关键:路径

     

返回 Body BlobMetadata Blob元数据

1 个答案:

答案 0 :(得分:1)

您可以使用“使用路径获取Blob元数据”操作来检查blob是否存在。然后,您可以使用条件(基于get blob元数据操作结果的状态代码)来运行操作,具体取决于blob是否已存在。

'Get Blob Metadata using path action'