所以我通过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
它在我的设计师中的样子
非常直接。
这是问题所在。
如果我重新发送(相同的)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
根据答案,我尝试添加以下预检。
此处的文档:
https://docs.microsoft.com/en-us/connectors/azureblob/#Get_Blob_Metadata_using_path
使用路径操作ID获取Blob元数据:GetFileMetadataByPath这 操作使用路径检索blob元数据。
必需参数Blob path string指定blob的唯一路径 关键:路径
返回 Body BlobMetadata Blob元数据