List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>(); for (StorageObject source : sources) { ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects(); sourceObject.setName(source.getName()); Long generation = source.getGeneration(); if (generation != null) { sourceObject.setGeneration(generation); sourceObject.setObjectPreconditions( new ObjectPreconditions().setIfGenerationMatch(generation));
final GcsPath shardPath = GcsPath.fromUri(shard); LOG.info("Adding shard " + shardPath + " for result " + dest); sourceObjects.add(new SourceObjects().setName(shardPath.getObject())); addedShardCount++; Metrics.counter(CombineShardsFn.class, "Files created").inc(); for (SourceObjects sourceObject : sourceObjects) { final String shardToDelete = sourceObject.getName(); LOG.info("Cleaning up shard " + shardToDelete + " for result " + dest); int retryCount = MAX_RETRY_COUNT;
final GcsPath shardPath = GcsPath.fromUri(shard); LOG.info("Adding shard " + shardPath + " for result " + dest); sourceObjects.add(new SourceObjects().setName(shardPath.getObject())); addedShardCount++; Metrics.counter(CombineShardsFn.class, "Files created").inc(); for (SourceObjects sourceObject : sourceObjects) { final String shardToDelete = sourceObject.getName(); LOG.info("Cleaning up shard " + shardToDelete + " for result " + dest); int retryCount = MAX_RETRY_COUNT;
Lists.transform( sources, input -> new ComposeRequest.SourceObjects().setName(input.getObjectName())); Storage.Objects.Compose compose = configureRequest(
List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>(); for (StorageObject source : sources) { ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects(); sourceObject.setName(source.getName()); Long generation = source.getGeneration(); if (generation != null) { sourceObject.setGeneration(generation); sourceObject.setObjectPreconditions( new ObjectPreconditions().setIfGenerationMatch(generation));
@Override public StorageObject compose(Iterable<StorageObject> sources, StorageObject target, Map<Option, ?> targetOptions) { ComposeRequest request = new ComposeRequest(); request.setDestination(target); List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>(); for (StorageObject source : sources) { ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects(); sourceObject.setName(source.getName()); Long generation = source.getGeneration(); if (generation != null) { sourceObject.setGeneration(generation); sourceObject.setObjectPreconditions( new ObjectPreconditions().setIfGenerationMatch(generation)); } sourceObjects.add(sourceObject); } request.setSourceObjects(sourceObjects); try { return storage.objects() .compose(target.getBucket(), target.getName(), request) .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions)) .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions)) .execute(); } catch (IOException ex) { throw translate(ex); } }