У меня есть аннотации функций Azure, определенные ниже. Триггер большого двоичного объекта считывает данные из процессов учетной записи хранения и использует возвращаемое значение для записи вывода в контейнер больших двоичных объектов с именем файла.json, определенным в привязке.
Это работает, как ожидалось; однако при записи данных в контейнер больших двоичных объектов. Привязка вывода проверяет наличие Blob-объекта с помощью запроса GET и в конечном итоге получает код ответа 404 перед выполнением запроса PUT. Это было зафиксировано в Application Insights.
Есть ли способ изменить это поведение? Снимок экрана аналитики журнала здесь
ПРИВЯЗКИ ФУНКЦИЙ
public class ProcessZipFiles2Cosmos {
@FunctionName("ProcessZipFiles2Cosmos")
@StorageAccount("blobStorageAccount")
@BlobOutput(name = "blob_redacted_json", path = "nonpii/{filename}.json")
public static String run(
@BlobTrigger(name = "files", dataType = "binary", path = "transactedreturn/{name}", connection = "blobStorageAccount") byte[] content,
@BindingName("name") String filename,
@CosmosDBOutput(name = "cosmos_transacted", databaseName = "tax-return-data-ops", collectionName = "TransactedReturns",
connectionStringSetting = "AzureCosmosDBConnection") OutputBinding<String> cosmosItem,
final ExecutionContext context) {
// function body
}
}
FUNCTION.JSON
{
"scriptFile":"../transactedreturn-1.0.0-SNAPSHOT.jar",
"entryPoint":"com.hrblock.clzconverter.ProcessZipFiles2Cosmos.run",
"bindings":[
{
"type":"blobTrigger",
"direction":"in",
"name":"files",
"path":"transactedreturn/{name}",
"dataType":"binary",
"connection":"blobStorageAccount"
},
{
"type":"cosmosDB",
"direction":"out",
"name":"cosmos_transacted",
"databaseName":"tax-return-data-ops",
"connectionStringSetting":"AzureCosmosDBConnection",
"collectionName":"TransactedReturns"
},
{
"type":"blob",
"direction":"out",
"name":"$return",
"path":"nonpii/{filename}.json",
"connection":"blobStorageAccount"
}
]
}