Exemplo n.º 1
0
        private static void SaveProtobufsToAzure(RawDataUploader rawDataUploader)
        {
            // search in the right directory and discover all files. Create dir from remoteRunnableWays then upload all files there.
            Parallel.ForEach(ProtobufAreaConverter.CreateLookupNodeProtobufs(),
                             new ParallelOptions {
                MaxDegreeOfParallelism = 4
            },
                             async(row) =>
            {
                var key         = row.Item1;
                var nodes       = row.Item2;
                var nodeFileObj = new FullNodeSet();
                nodeFileObj.Nodes.AddRange(nodes);
                Console.WriteLine($"{key}: prepped {nodes.Count} nodes: {nodeFileObj.CalculateSize()} bytes");
                var byteArray = nodeFileObj.ToByteArray();

                var fileName = $"nodes/{key.Substring(0, 2)}/{key}";
                await rawDataUploader.WriteBlobAsync(fileName, byteArray);
            });
        }