Search in sources :

Example 36 with StorageObject

use of com.google.api.services.storage.model.StorageObject in project beam by apache.

the class GcsUtilTest method testRetryFileSizeNonBatch.

@Test
public void testRetryFileSizeNonBatch() throws IOException {
    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);
    BackOff mockBackOff = BackOffAdapter.toGcpBackOff(FluentBackoff.DEFAULT.withMaxRetries(2).backoff());
    when(mockStorage.objects()).thenReturn(mockStorageObjects);
    when(mockStorageObjects.get("testbucket", "testobject")).thenReturn(mockStorageGet);
    when(mockStorageGet.execute()).thenThrow(new SocketTimeoutException("SocketException")).thenThrow(new SocketTimeoutException("SocketException")).thenReturn(new StorageObject().setSize(BigInteger.valueOf(1000)));
    assertEquals(1000, gcsUtil.getObject(GcsPath.fromComponents("testbucket", "testobject"), mockBackOff, new FastNanoClockAndSleeper()).getSize().longValue());
    assertEquals(BackOff.STOP, mockBackOff.nextBackOffMillis());
}
Also used : Storage(com.google.api.services.storage.Storage) SocketTimeoutException(java.net.SocketTimeoutException) StorageObject(com.google.api.services.storage.model.StorageObject) Objects(com.google.api.services.storage.model.Objects) GcsOptions(org.apache.beam.sdk.extensions.gcp.options.GcsOptions) BackOff(com.google.api.client.util.BackOff) Test(org.junit.Test)

Example 37 with StorageObject

use of com.google.api.services.storage.model.StorageObject in project ignite by apache.

the class TcpDiscoveryGoogleStorageIpFinder method getRegisteredAddresses.

/**
 * {@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;
}
Also used : StorageObject(com.google.api.services.storage.model.StorageObject) InetSocketAddress(java.net.InetSocketAddress) ArrayList(java.util.ArrayList) IgniteSpiException(org.apache.ignite.spi.IgniteSpiException) IgniteSpiException(org.apache.ignite.spi.IgniteSpiException) GoogleJsonResponseException(com.google.api.client.googleapis.json.GoogleJsonResponseException) GeneralSecurityException(java.security.GeneralSecurityException) IgniteInterruptedCheckedException(org.apache.ignite.internal.IgniteInterruptedCheckedException) IOException(java.io.IOException)

Example 38 with StorageObject

use of com.google.api.services.storage.model.StorageObject in project gradle by gradle.

the class GcsClient method put.

public void put(InputStream inputStream, Long contentLength, URI destination) throws ResourceException {
    try {
        InputStreamContent contentStream = new InputStreamContent(null, inputStream);
        // Setting the length improves upload performance
        contentStream.setLength(contentLength);
        // TODO - set ACL here if necessary
        String bucket = destination.getHost();
        String path = cleanResourcePath(destination);
        StorageObject objectMetadata = new StorageObject().setName(path);
        Storage.Objects.Insert putRequest = storage.objects().insert(bucket, objectMetadata, contentStream);
        LOGGER.debug("Attempting to put resource:[{}] into gcs bucket [{}]", putRequest.getName(), putRequest.getBucket());
        putRequest.execute();
    } catch (IOException e) {
        throw ResourceExceptions.putFailed(destination, e);
    }
}
Also used : StorageObject(com.google.api.services.storage.model.StorageObject) InputStreamContent(com.google.api.client.http.InputStreamContent) Objects(com.google.api.services.storage.model.Objects) UncheckedIOException(org.gradle.api.UncheckedIOException) IOException(java.io.IOException)

Example 39 with StorageObject

use of com.google.api.services.storage.model.StorageObject in project gradle by gradle.

the class GcsResourceConnector method getMetaData.

@Nullable
@Override
public ExternalResourceMetaData getMetaData(URI location, boolean revalidate) throws ResourceException {
    LOGGER.debug("Attempting to get resource metadata: {}", location);
    StorageObject gcsObject = gcsClient.getResource(location);
    if (gcsObject == null) {
        return null;
    }
    return toExternalResourceMetaData(location, gcsObject);
}
Also used : StorageObject(com.google.api.services.storage.model.StorageObject) Nullable(javax.annotation.Nullable)

Aggregations

StorageObject (com.google.api.services.storage.model.StorageObject)39 Test (org.junit.Test)13 Objects (com.google.api.services.storage.model.Objects)12 IOException (java.io.IOException)8 ArrayList (java.util.ArrayList)8 RetryHelperException (com.google.cloud.RetryHelper.RetryHelperException)7 GoogleJsonError (com.google.api.client.googleapis.json.GoogleJsonError)6 GcsPath (org.apache.beam.sdk.util.gcsfs.GcsPath)6 RpcBatch (com.google.cloud.storage.spi.v1.RpcBatch)5 Storage (com.google.api.services.storage.Storage)4 BlobSourceOption (com.google.cloud.storage.Storage.BlobSourceOption)4 BlobTargetOption (com.google.cloud.storage.Storage.BlobTargetOption)4 BlobWriteOption (com.google.cloud.storage.Storage.BlobWriteOption)4 BucketSourceOption (com.google.cloud.storage.Storage.BucketSourceOption)4 Nullable (javax.annotation.Nullable)4 GcsOptions (org.apache.beam.sdk.extensions.gcp.options.GcsOptions)4 ImmutableList (com.google.common.collect.ImmutableList)3 List (java.util.List)3 Map (java.util.Map)3 Callable (java.util.concurrent.Callable)3