StorageObject toPb() { StorageObject storageObject = new StorageObject(); storageObject.setBucket(bucket); storageObject.setName(name); storageObject.setGeneration(generation); return storageObject; }
private static boolean processedAsFolder( StorageObject so, String delimiter, String prefix, /* inout */ Map<String, StorageObject> folders) { if (delimiter == null) { return false; } int nextSlash = so.getName().indexOf(delimiter, prefix.length()); if (nextSlash < 0) { return false; } String folderName = so.getName().substring(0, nextSlash + 1); if (folders.containsKey(folderName)) { return true; } StorageObject fakeFolder = new StorageObject(); fakeFolder.setName(folderName); fakeFolder.setBucket(so.getBucket()); fakeFolder.setGeneration(so.getGeneration()); folders.put(folderName, fakeFolder); return true; }
@Override public StorageObject apply(String prefix) { return new StorageObject() .set("isDirectory", true) .setBucket(bucket) .setName(prefix) .setSize(BigInteger.ZERO); } };
/** {@inheritDoc} */ @Override public void registerAddresses(Collection<InetSocketAddress> addrs) throws IgniteSpiException { assert !F.isEmpty(addrs); init(); for (InetSocketAddress addr : addrs) { String key = keyFromAddr(addr); StorageObject object = new StorageObject(); object.setBucket(bucketName); object.setName(key); InputStreamContent content = new InputStreamContent("application/octet-stream", OBJECT_CONTENT); content.setLength(OBJECT_CONTENT.available()); try { Storage.Objects.Insert insertObject = storage.objects().insert(bucketName, object, content); insertObject.execute(); } catch (Exception e) { throw new IgniteSpiException("Failed to put entry [bucketName=" + bucketName + ", entry=" + key + ']', e); } } }
/** * Uploads data to an object in a bucket. * * @param name the name of the destination object. * @param contentType the MIME type of the data. * @param file the file to upload. * @param bucketName the name of the bucket to create the object in. */ public static void uploadFile( String name, String contentType, File file, String bucketName) throws IOException, GeneralSecurityException { InputStreamContent contentStream = new InputStreamContent( contentType, new FileInputStream(file)); // Setting the length improves upload performance contentStream.setLength(file.length()); StorageObject objectMetadata = new StorageObject() // Set the destination object name .setName(name) // Set the access control list to publicly read-only .setAcl(Arrays.asList( new ObjectAccessControl().setEntity("allUsers").setRole("READER"))); // Do the insert Storage client = StorageFactory.getService(); Storage.Objects.Insert insertRequest = client.objects().insert( bucketName, objectMetadata, contentStream); insertRequest.execute(); } // [END upload_stream]
StorageObject object = new StorageObject().setBucket(bucketName).setName(path); ByteArrayContent content = new ByteArrayContent("application/json", bytes);
final long objectSize = 100 * 1024 * 1024 /* 100 MB */; InputStream data = new Helpers.RandomDataBlockInputStream(objectSize, 1024); object = new StorageObject() .setBucket(settings.getBucket()) .setName(settings.getPrefix() + "myobject")
InputStream is = Files.newInputStream(path); //path if java.nio.file.Path String mimeType = Files.probeContentType(path); InputStreamContent isContent = new InputStreamContent(mimeType, is); StorageObject objectMetadata = new StorageObject();
compareBlobs(blobInfo, BlobInfo.fromPb(blobInfo.toPb())); StorageObject object = new StorageObject() .setName("n/") .setBucket("b")
StorageObject toPb() { StorageObject storageObject = new StorageObject(); storageObject.setBucket(bucket); storageObject.setName(name); storageObject.setGeneration(generation); return storageObject; }
StorageObject toPb() { StorageObject storageObject = new StorageObject(); storageObject.setBucket(bucket); storageObject.setName(name); storageObject.setGeneration(generation); return storageObject; }
void writeBytes(String name, byte[] contents) { name = String.join("/", rootFolder, name); try { StorageObject object = new StorageObject() .setBucket(bucketId) .setName(name); ByteArrayContent content = new ByteArrayContent("application/text", contents); storage.objects().insert(bucketId, object, content).execute(); } catch (IOException e) { throw new HalException(Problem.Severity.FATAL, "Failed to write to " + name + ": " + e.getMessage(), e); } }
@Override public StorageObject apply(String prefix) { return new StorageObject() .set("isDirectory", true) .setBucket(bucket) .setName(prefix) .setSize(BigInteger.ZERO); } };
@Override public StorageObject apply(String prefix) { return new StorageObject() .set("isDirectory", true) .setBucket(bucket) .setName(prefix) .setSize(BigInteger.ZERO); } };
void writeBytes(String name, byte[] contents) { name = String.join("/", rootFolder, name); try { StorageObject object = new StorageObject() .setBucket(bucketId) .setName(name); ByteArrayContent content = new ByteArrayContent("application/text", contents); storage.objects().insert(bucketId, object, content).execute(); } catch (IOException e) { throw new HalException(Problem.Severity.FATAL, "Failed to write to " + name + ": " + e.getMessage(), e); } }
@Override public void store(BuildCacheKey buildCacheKey, BuildCacheEntryWriter buildCacheEntryWriter) throws BuildCacheException { final String bucketPath = getBucketPath(buildCacheKey); logger.info("Start storing cache entry '{}' in GCS bucket", bucketPath); try (ByteArrayOutputStream os = new ByteArrayOutputStream()) { buildCacheEntryWriter.writeTo(os); try (InputStream is = new ByteArrayInputStream(os.toByteArray())) { InputStreamContent content = new InputStreamContent(BUILD_CACHE_CONTENT_TYPE, is); StorageObject metadataObject = new StorageObject().setMetadata(new HashMap<>()); Storage.Objects.Insert insertObject = storage.objects().insert(bucketName, metadataObject, content).setName(bucketPath); insertObject.getMediaHttpUploader().setDisableGZipContent(true); insertObject.execute(); } } catch (IOException e) { throw new BuildCacheException("Error while storing cache object in GCS bucket", e); } }
private void writeTextObject(String name, String contents) { try { byte[] bytes = contents.getBytes(); StorageObject object = new StorageObject() .setBucket(spinconfigBucket) .setName(name); ByteArrayContent content = new ByteArrayContent("application/text", bytes); storage.objects().insert(spinconfigBucket, object, content).execute(); } catch (IOException e) { log.error("Failed to write new object " + name, e); throw new HalException(new ProblemBuilder(Severity.FATAL, "Failed to write to " + name + ": " + e.getMessage()).build()); } } }
@Test public void testFileSizeNonBatch() throws Exception { GcsOptions pipelineOptions = gcsOptionsWithTestCredential(); GcsUtil gcsUtil = pipelineOptions.getGcsUtil(); Storage mockStorage = Mockito.mock(Storage.class); gcsUtil.setStorageClient(mockStorage); Storage.Objects mockStorageObjects = Mockito.mock(Storage.Objects.class); Storage.Objects.Get mockStorageGet = Mockito.mock(Storage.Objects.Get.class); when(mockStorage.objects()).thenReturn(mockStorageObjects); when(mockStorageObjects.get("testbucket", "testobject")).thenReturn(mockStorageGet); when(mockStorageGet.execute()) .thenReturn(new StorageObject().setSize(BigInteger.valueOf(1000))); assertEquals(1000, gcsUtil.fileSize(GcsPath.fromComponents("testbucket", "testobject"))); }
private StorageObject createStorageObject(String gcsFilename, long fileSize) { GcsPath gcsPath = GcsPath.fromUri(gcsFilename); // Google APIs will use null for empty files. @Nullable BigInteger size = (fileSize == 0) ? null : BigInteger.valueOf(fileSize); return new StorageObject() .setBucket(gcsPath.getBucket()) .setName(gcsPath.getObject()) .setSize(size); }
private StorageObject createStorageObject(String gcsFilename, long fileSize) { GcsPath gcsPath = GcsPath.fromUri(gcsFilename); return new StorageObject() .setBucket(gcsPath.getBucket()) .setName(gcsPath.getObject()) .setSize(BigInteger.valueOf(fileSize)); } }