Следуя исходному коду из Azure Docs
Привязка ввода работает правильно, и данные возвращаются из служебной шины. Но в конце выполнения функция выдаст ошибку, как показано в трассировке стека.
Вот мой код:
Код: Выделить всё
public class OrderDispatcherFunction
{
private readonly IConfiguration _configuration;
private readonly ILogger _logger;
public OrderDispatcherFunction(ILogger logger, IConfiguration configuration)
{
_logger = logger;
_configuration = configuration;
}
[Function(nameof(OrderDispatcherFunction))]
[CosmosDBOutput(
databaseName: "itemsDB",
containerName: "items",
Connection = "cosmosDbConnectionString",
CreateIfNotExists = true)]
public object Run(
[ServiceBusTrigger("%queueName%", Connection = "connection")] ServiceBusReceivedMessage message)
{
var data = JsonConvert.DeserializeObject(message.Body.ToString());
data.Id = System.Guid.NewGuid();
return data;
}
}
public class OrderRequestDto
{
public Guid Id { get; set; }
public Guid CustomerId { get; set; }
}
Код: Выделить всё
Executed 'Functions.OrderDispatcherFunction' (Failed, Id=d68fa2f0-605a-4795-ae75-cf96bd9caa60, Duration=4460ms)
[2024-07-07T22:12:58.648Z] System.Private.CoreLib: Exception while executing function: Functions.OrderDispatcherFunction. Microsoft.Azure.Cosmos.Client: Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 9e37fb45-5d36-4374-9dc8-9ed5f384723d; Reason: ({"code":"BadRequest","message":"Message: {\"Errors\":[\"One of the specified inputs is invalid\"]}\r\nActivityId: 9e37fb45-5d36-4374-9dc8-9ed5f384723d, Request URI: /apps/DocDbApp/services/DocDbServer3/partitions/a4cb494f-38c8-11e6-8106-8cdcd42c33be/replicas/1p/, RequestStats: \r\nRequestStartTime: 2024-07-07T22:12:58.5581217Z, RequestEndTime: 2024-07-07T22:12:58.5591407Z, Number of regions attempted:1\r\n{\"systemHistory\":[{\"dateUtc\":\"2024-07-07T22:12:07.5091102Z\",\"cpu\":2.305,\"memory\":1291760.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0619,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2},{\"dateUtc\":\"2024-07-07T22:12:17.5211351Z\",\"cpu\":1.872,\"memory\":1303784.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0243,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2},{\"dateUtc\":\"2024-07-07T22:12:27.5324153Z\",\"cpu\":2.873,\"memory\":1291520.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0289,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2},{\"dateUtc\":\"2024-07-07T22:12:37.5382375Z\",\"cpu\":4.296,\"memory\":1301836.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0329,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2},{\"dateUtc\":\"2024-07-07T22:12:47.5426885Z\",\"cpu\":5.261,\"memory\":1118520.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0358,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2},{\"dateUtc\":\"2024-07-07T22:12:57.5540946Z\",\"cpu\":5.888,\"memory\":706520.000,\"threadInfo\":{\"isThreadStarving\":\"False\",\"threadWaitIntervalInMs\":0.0323,\"availableThreads\":32766,\"minThreads\":12,\"maxThreads\":32767},\"numberOfOpenTcpConnection\":2}]}\r\nRequestStart: 2024-07-07T22:12:58.5582669Z; ResponseTime: 2024-07-07T22:12:58.5591407Z; StoreResult: StorePhysicalAddress: rntbd://127.0.0.1:10253/apps/DocDbApp/services/DocDbServer3/partitions/a4cb494f-38c8-11e6-8106-8cdcd42c33be/replicas/1p/, LSN: 13, GlobalCommittedLsn: -1, PartitionKeyRangeId: 0, IsValid: True, StatusCode: 400, SubStatusCode: 0, RequestCharge: 0, ItemLSN: -1, SessionToken: -1#13, UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.327, ActivityId: 9e37fb45-5d36-4374-9dc8-9ed5f384723d, RetryAfterInMs: , ReplicaHealthStatuses: [(port: 10253 | status: Connected | lkt: 07/07/2024 20:12:11)], TransportRequestTimeline: {\"requestTimeline\":[{\"event\": \"Created\", \"startTimeUtc\": \"2024-07-07T22:12:58.5582678Z\", \"durationInMs\": 0.0063},{\"event\": \"ChannelAcquisitionStarted\", \"startTimeUtc\": \"2024-07-07T22:12:58.5582741Z\", \"durationInMs\": 0.0016},{\"event\": \"Pipelined\", \"startTimeUtc\": \"2024-07-07T22:12:58.5582757Z\", \"durationInMs\": 0.107},{\"event\": \"Transit Time\", \"startTimeUtc\": \"2024-07-07T22:12:58.5583827Z\", \"durationInMs\": 0.5696},{\"event\": \"Received\", \"startTimeUtc\": \"2024-07-07T22:12:58.5589523Z\", \"durationInMs\": 0.0455},{\"event\": \"Completed\", \"startTimeUtc\": \"2024-07-07T22:12:58.5589978Z\", \"durationInMs\": 0}],\"serviceEndpointStats\":{\"inflightRequests\":1,\"openConnections\":1},\"connectionStats\":{\"waitforConnectionInit\":\"False\",\"callsPendingReceive\":0,\"lastSendAttempt\":\"2024-07-07T22:12:58.4983852Z\",\"lastSend\":\"2024-07-07T22:12:58.4984098Z\",\"lastReceive\":\"2024-07-07T22:12:58.4994188Z\"},\"requestSizeInBytes\":590,\"requestBodySizeInBytes\":101,\"responseMetadataSizeInBytes\":218,\"responseBodySizeInBytes\":53};\r\n ResourceType: Document, OperationType: Upsert\r\n, SDK: Microsoft.Azure.Documents.Common/2.14.0"}
[2024-07-07T22:12:58.649Z] RequestUri: https://127.0.0.1:8081/dbs/CustomerOrderDB/colls/Order/docs;
[2024-07-07T22:12:58.649Z] RequestMethod: POST;
[2024-07-07T22:12:58.650Z] Header: Authorization Length: 88;
[2024-07-07T22:12:58.651Z] Header: x-ms-date Length: 29;
[2024-07-07T22:12:58.652Z] Header: x-ms-documentdb-partitionkey Length: 40;
[2024-07-07T22:12:58.653Z] Header: x-ms-cosmos-sdk-supportedcapabilities Length: 1;
[2024-07-07T22:12:58.654Z] Header: x-ms-documentdb-is-upsert Length: 4;
[2024-07-07T22:12:58.654Z] Header: x-ms-activity-id Length: 36;
[2024-07-07T22:12:58.655Z] Header: Cache-Control Length: 8;
[2024-07-07T22:12:58.655Z] Header: User-Agent Length: 79;
[2024-07-07T22:12:58.656Z] Header: x-ms-version Length: 10;
[2024-07-07T22:12:58.657Z] Header: Accept Length: 16;
[2024-07-07T22:12:58.657Z] , Request URI: /dbs/CustomerOrderDB/colls/Order/docs, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.22631 cosmos-netstandard-sdk/3.32.0);.
Код: Выделить всё
net8.0
v4
Exe
true
enable
PreserveNewest
PreserveNewest
Never
Подробнее здесь: https://stackoverflow.com/questions/787 ... rns-errors