Skip to content

Cloud Java APIs should work with a local Cloud SDK with GAE Standard. #1500

Closed
@ludoch

Description

@ludoch

With the following code in my Java Servlet:

   Storage storage = StorageOptions.getDefaultInstance().getService();
   
   
    String bucketName = "rdayalcloudtest"; // Change this to something unique
    Bucket bucket = storage.create(BucketInfo.of(bucketName));

    // Upload a blob to the newly created bucket
    BlobId blobId = BlobId.of(bucketName, "my_blob_name");
    Blob blob = bucket.create(
        "my_blob_name " + request.hashCode(), "a simple blob".getBytes(UTF_8), "text/plain");

I receive the following exception when attempting to test the code locally, using DevAppServer2:

Problem accessing /hello. Reason:

access denied ("java.io.FilePermission" "/Users/ludo/.config/gcloud/active_config" "read")

Caused by:

java.security.AccessControlException: access denied ("java.io.FilePermission" "/Users/ludo/.config/gcloud/active_config" "read")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Factory$CustomSecurityManager.checkPermission(DevAppServer2Factory.java:232)
at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
at java.io.FileInputStream.(FileInputStream.java:127)
at com.google.common.io.Files$FileByteSource.openStream(Files.java:125)
at com.google.common.io.Files$FileByteSource.openStream(Files.java:115)
at com.google.common.io.ByteSource$AsCharSource.openStream(ByteSource.java:420)
at com.google.common.io.CharSource.openBufferedStream(CharSource.java:91)
at com.google.common.io.CharSource.readFirstLine(CharSource.java:168)
at com.google.common.io.Files.readFirstLine(Files.java:513)
at com.google.cloud.ServiceOptions.activeGoogleCloudConfig(ServiceOptions.java:354)
at com.google.cloud.ServiceOptions.googleCloudProjectId(ServiceOptions.java:372)
at com.google.cloud.ServiceOptions.getDefaultProject(ServiceOptions.java:348)
at com.google.cloud.ServiceOptions.(ServiceOptions.java:281)
at com.google.cloud.HttpServiceOptions.(HttpServiceOptions.java:179)
at com.google.cloud.storage.StorageOptions.(StorageOptions.java:69)
at com.google.cloud.storage.StorageOptions.(StorageOptions.java:27)
at com.google.cloud.storage.StorageOptions$Builder.build(StorageOptions.java:64)
at com.google.cloud.storage.StorageOptions.getDefaultInstance(StorageOptions.java:99)
at com.example.HelloAppEngine.doGet(HelloAppEngine.java:40)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions