Refine search
/** {@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); } } }
private Storage.Objects.Delete deleteCall(StorageObject blob, Map<Option, ?> options) throws IOException { return storage .objects() .delete(blob.getBucket(), blob.getName()) .setGeneration(blob.getGeneration()) .setIfMetagenerationMatch(Option.IF_METAGENERATION_MATCH.getLong(options)) .setIfMetagenerationNotMatch(Option.IF_METAGENERATION_NOT_MATCH.getLong(options)) .setIfGenerationMatch(Option.IF_GENERATION_MATCH.getLong(options)) .setIfGenerationNotMatch(Option.IF_GENERATION_NOT_MATCH.getLong(options)) .setUserProject(Option.USER_PROJECT.getString(options)); }
static BlobInfo fromPb(StorageObject storageObject) { Builder builder = newBuilder(BlobId.fromPb(storageObject)); if (storageObject.getCacheControl() != null) { builder.setCacheControl(storageObject.getCacheControl()); if (storageObject.getContentEncoding() != null) { builder.setContentEncoding(storageObject.getContentEncoding()); if (storageObject.getCrc32c() != null) { builder.setCrc32c(storageObject.getCrc32c()); if (storageObject.getContentType() != null) { builder.setContentType(storageObject.getContentType()); if (storageObject.getMd5Hash() != null) { builder.setMd5(storageObject.getMd5Hash()); if (storageObject.getMediaLink() != null) { builder.setMediaLink(storageObject.getMediaLink()); if (storageObject.getMetageneration() != null) { builder.setMetageneration(storageObject.getMetageneration()); if (storageObject.getContentDisposition() != null) { builder.setContentDisposition(storageObject.getContentDisposition()); if (storageObject.getComponentCount() != null) { builder.setComponentCount(storageObject.getComponentCount()); if (storageObject.getContentLanguage() != null) {
StorageObject toPb() { StorageObject storageObject = new StorageObject(); storageObject.setBucket(bucket); storageObject.setName(name); storageObject.setGeneration(generation); return storageObject; }
@Override public StorageObject apply(String prefix) { return new StorageObject() .set("isDirectory", true) .setBucket(bucket) .setName(prefix) .setSize(BigInteger.ZERO); } };
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; }
private static StorageObject uriToStorageObject(String uri) throws IOException { StorageObject object = new StorageObject(); if (uri.startsWith(GCS_PREFIX)) { uri = uri.substring(GCS_PREFIX.length()); } else { throw new IOException("Invalid GCS path (does not start with gs://): " + uri); } int slashPos = uri.indexOf("/"); if (slashPos > 0) { object.setBucket(uri.substring(0, slashPos)); object.setName(uri.substring(slashPos + 1)); LOG.info("uriToStorageObject " + uri + "=" + object.getBucket() + ":" + object.getName()); } else { throw new IOException("Invalid GCS path (does not have bucket/name form): " + uri); } return object; } }
private Storage.Objects.Patch patchCall(StorageObject storageObject, Map<Option, ?> options) throws IOException { return storage .objects() .patch(storageObject.getBucket(), storageObject.getName(), storageObject) .setProjection(DEFAULT_PROJECTION) .setPredefinedAcl(Option.PREDEFINED_ACL.getString(options)) .setIfMetagenerationMatch(Option.IF_METAGENERATION_MATCH.getLong(options)) .setIfMetagenerationNotMatch(Option.IF_METAGENERATION_NOT_MATCH.getLong(options)) .setIfGenerationMatch(Option.IF_GENERATION_MATCH.getLong(options)) .setIfGenerationNotMatch(Option.IF_GENERATION_NOT_MATCH.getLong(options)) .setUserProject(Option.USER_PROJECT.getString(options)); }
@Override public Insert createRequest(InputStreamContent inputStream) throws IOException { // Create object with the given name and metadata. StorageObject object = new StorageObject() .setMetadata(metadata) .setName(objectName); Insert insert = gcs.objects().insert(bucketName, object, inputStream); writeConditions.apply(insert); if (insert.getMediaHttpUploader() != null) { insert.getMediaHttpUploader().setDirectUploadEnabled(isDirectUploadEnabled()); insert.getMediaHttpUploader().setProgressListener( new LoggingMediaHttpUploaderProgressListener(this.objectName, MIN_LOGGING_INTERVAL_MS)); } insert.setName(objectName); if (kmsKeyName != null) { insert.setKmsKeyName(kmsKeyName); } return insert; }
StorageObject resultObject = new StorageObject(); resultObject.setBucket(gcsPath.getBucket()); resultObject.setName(gcsPath.getObject()); results.add(GcsUtil.StorageObjectOrIOException.create(resultObject));
Scope scope = tracer.withSpan(span); try { Insert req = storage.objects().insert(object.getBucket(), object); GenericUrl url = req.buildHttpRequest().getUrl(); String scheme = url.getScheme(); url = new GenericUrl(scheme + "://" + host + ":" + port + path); url.set("uploadType", "resumable"); url.set("name", object.getName()); for (Option option : options.keySet()) { Object content = option.get(options); if (content != null) { url.set(option.value(), content.toString()); JsonFactory jsonFactory = storage.getJsonFactory(); HttpRequestFactory requestFactory = storage.getRequestFactory(); HttpRequest httpRequest = requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, object)); requestHeaders.set( "X-Upload-Content-Type", firstNonNull(object.getContentType(), "application/octet-stream")); String key = Option.CUSTOMER_SUPPLIED_KEY.getString(options); if (key != null) { BaseEncoding base64 = BaseEncoding.base64();
StorageObject toPb() { StorageObject storageObject = blobId.toPb(); if (acl != null) { storageObject.setAcl( Lists.transform( acl, storageObject.setTimeDeleted(new DateTime(deleteTime)); storageObject.setUpdated(new DateTime(updateTime)); storageObject.setTimeCreated(new DateTime(createTime)); storageObject.setSize(BigInteger.valueOf(size)); storageObject.setOwner(new Owner().setEntity(owner.toPb())); storageObject.setStorageClass(storageClass.toString()); storageObject.setCustomerEncryption(customerEncryption.toPb()); storageObject.setRetentionExpirationTime(new DateTime(retentionExpirationTime)); storageObject.setKmsKeyName(kmsKeyName); storageObject.setEventBasedHold(eventBasedHold); storageObject.setTemporaryHold(temporaryHold); storageObject.setMetadata(pbMetadata); storageObject.setCacheControl(cacheControl); storageObject.setContentEncoding(contentEncoding); storageObject.setCrc32c(crc32c);
StorageObject object = new StorageObject(); object.setBucket(bucketName); stream); Storage.Objects.Insert insert = storage.objects().insert( bucketName, null, content); insert.setName(file.getName());
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") .setMetadata(ImmutableMap.of("key1", "value1", "key2", "value2")) .setCacheControl("max-age=3600, must-revalidate") .setContentDisposition("attachment"); object = ObjectsUploadExample.uploadWithMetadata(storage, object, data); View.show(object); System.out.println("md5Hash: " + object.getMd5Hash()); System.out.println("crc32c: " + object.getCrc32c() + ", decoded to " + ByteBuffer.wrap(BaseEncoding.base64().decode(object.getCrc32c())).getInt()); md5DigestOutputStream.getMessageDigest().digest()); System.out.println("md5Hash: " + calculatedMD5 + " " + (object.getMd5Hash().equals(calculatedMD5) ? "(MATCHES)" : "(MISMATCHES; data altered in transit)")); int calculatedCrc32c = crc32cHashingOutputStream.hash().asInt(); + (object.getCrc32c().equals(calculatedEncodedCrc32c) ? "(MATCHES)" : "(MISMATCHES; data altered in transit)"));
/** * 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]
"resourceId must be a StorageObject. resourceId: %s", resourceId); Preconditions.checkArgument( resourceId.getBucketName().equals(object.getBucket()), "resourceId.getBucketName() must equal object.getBucket(): '%s' vs '%s'", resourceId.getBucketName(), object.getBucket()); Preconditions.checkArgument( resourceId.getObjectName().equals(object.getName()), "resourceId.getObjectName() must equal object.getName(): '%s' vs '%s'", resourceId.getObjectName(), object.getName()); object.getMetadata() == null ? null : decodeMetadata(object.getMetadata()); if (!Strings.isNullOrEmpty(object.getCrc32c())) { crc32c = BaseEncoding.base64().decode(object.getCrc32c()); if (!Strings.isNullOrEmpty(object.getMd5Hash())) { md5Hash = BaseEncoding.base64().decode(object.getMd5Hash()); object.getUpdated().getValue(), object.getSize().longValue(), object.getContentType(), object.getContentEncoding(), decodedMetadata, object.getGeneration(), object.getMetageneration(), new VerificationAttributes(md5Hash, crc32c));
/** {@inheritDoc} */ @Override public Collection<InetSocketAddress> getRegisteredAddresses() throws IgniteSpiException { init(); Collection<InetSocketAddress> addrs = new ArrayList<>(); try { Storage.Objects.List listObjects = storage.objects().list(bucketName); com.google.api.services.storage.model.Objects objects; do { objects = listObjects.execute(); if (objects == null || objects.getItems() == null) break; for (StorageObject object : objects.getItems()) addrs.add(addrFromString(object.getName())); listObjects.setPageToken(objects.getNextPageToken()); } while (null != objects.getNextPageToken()); } catch (Exception e) { throw new IgniteSpiException("Failed to get content from the bucket: " + bucketName, e); } return addrs; }
Storage.Objects.Insert insert = storage .objects() .insert( storageObject.getBucket(), storageObject, new InputStreamContent(storageObject.getContentType(), content)); insert.getMediaHttpUploader().setDirectUploadEnabled(true); Boolean disableGzipContent = Option.IF_DISABLE_GZIP_CONTENT.getBoolean(options); if (disableGzipContent != null) { insert.setDisableGZipContent(disableGzipContent); return insert .setProjection(DEFAULT_PROJECTION) .setPredefinedAcl(Option.PREDEFINED_ACL.getString(options)) .setIfMetagenerationMatch(Option.IF_METAGENERATION_MATCH.getLong(options)) .setIfMetagenerationNotMatch(Option.IF_METAGENERATION_NOT_MATCH.getLong(options)) .setIfGenerationMatch(Option.IF_GENERATION_MATCH.getLong(options))
static BlobInfo fromPb(StorageObject storageObject) { Builder builder = builder(BlobId.fromPb(storageObject)); if (storageObject.getCacheControl() != null) { builder.cacheControl(storageObject.getCacheControl()); if (storageObject.getContentEncoding() != null) { builder.contentEncoding(storageObject.getContentEncoding()); if (storageObject.getCrc32c() != null) { builder.crc32c(storageObject.getCrc32c()); if (storageObject.getContentType() != null) { builder.contentType(storageObject.getContentType()); if (storageObject.getMd5Hash() != null) { builder.md5(storageObject.getMd5Hash()); if (storageObject.getMediaLink() != null) { builder.mediaLink(storageObject.getMediaLink()); if (storageObject.getMetageneration() != null) { builder.metageneration(storageObject.getMetageneration()); if (storageObject.getContentDisposition() != null) { builder.contentDisposition(storageObject.getContentDisposition()); if (storageObject.getComponentCount() != null) { builder.componentCount(storageObject.getComponentCount()); if (storageObject.getContentLanguage() != null) {