У меня есть URL, который указывает на ZIP-файл, и я хочу иметь приложение логики, которое берет этот ZIP-файл и загружает его в BLOB-объект.
Я создал HTTP-действие с GET в качестве метода и проверил правильность URL-адреса, а полезная нагрузка (ZIP-файл) загружается, как и ожидалось, когда я перехожу по URL-адресу. Других данных в действии HTTP нет.
Я создал действие хранилища BLOB-объектов Azure, которое, как я подтвердил, может получать данные.
Я не могу понять синтаксис для фактического подключения действия HTTP для загрузки приблизительно 3 МБ ZIP-файла в хранилище BLOB-объектов Azure. Я пробовал каждую комбинацию динамических входов, но что-то не работает.
Код с удаленными секретными ключами и идентификационными данными:
{
"$connections": {
"value": {
"azureblob": {
"connectionId": "/subscriptions/XXX/resourceGroups/Default-SQL-CentralUS/providers/Microsoft.Web/connections/azureblob",
"connectionName": "azureblob",
"id": "/subscriptions/XXX/providers/Microsoft.Web/locations/centralus/managedApis/azureblob"
}
}
},
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"Create_blob": {
"inputs": {
"body": "@variables('fileAccessURL')",
"headers": {
"Content-Type": "application/octet-stream"
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "post",
"path": "/datasets/default/files",
"queries": {
"folderPath": "/validis",
"name": "logicapptest",
"queryParametersSingleEncoded": true
}
},
"runAfter": {
"DownloadZIP": [
"Succeeded"
]
},
"runtimeConfiguration": {
"contentTransfer": {
"transferMode": "Chunked"
}
},
"type": "ApiConnection"
},
"DownloadZIP": {
"inputs": {
"method": "GET",
"uri": "@variables('fileAccessURL')"
},
"operationOptions": "DisableAutomaticDecompression",
"runAfter": {
"SetFileAccessURL": [
"Succeeded"
]
},
"type": "Http"
},
"InitializeAccessToken": {
"inputs": {
"variables": [
{
"name": "access_token",
"type": "String"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"InitializeFileAccessURL": {
"inputs": {
"variables": [
{
"name": "fileAccessURL",
"type": "String"
}
]
},
"runAfter": {
"InitializeAccessToken": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"POST-AuthKey": {
"inputs": {
"body": "grant_type=vapi_key&key=XXX",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Ocp-Apim-Subscription-Key": "XXX",
"cache-control": "no-cache"
},
"method": "POST",
"uri": "https://api.sandbox.XXX.com/v1/oauth/token"
},
"runAfter": {
"InitializeFileAccessURL": [
"Succeeded"
]
},
"type": "Http"
},
"RetrieveZIP_URL": {
"inputs": {
"headers": {
"Authorization": "@{concat('Bearer ',variables('access_token'))}",
"Ocp-Apim-Subscription-Key": "XXX",
"cache-control": "no-cache"
},
"method": "GET",
"uri": "https://api.sandbox.XXX.com/v1/extracts/general-ledger/engagements/XXX"
},
"runAfter": {
"SetAccessToken": [
"Succeeded"
]
},
"type": "Http"
},
"SetAccessToken": {
"inputs": {
"name": "access_token",
"value": "@{body('POST-AuthKey').access_token}"
},
"runAfter": {
"POST-AuthKey": [
"Succeeded"
]
},
"type": "SetVariable"
},
"SetFileAccessURL": {
"inputs": {
"name": "fileAccessURL",
"value": "@{body('RetrieveZIP_URL').fileaccessurl}"
},
"runAfter": {
"RetrieveZIP_URL": [
"Succeeded"
]
},
"type": "SetVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Month",
"interval": 12
},
"type": "Recurrence"
}
}
}
}