You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Joran Elias (Jira)" <ji...@apache.org> on 2022/09/29 13:21:00 UTC

[jira] [Created] (ARROW-17894) [R] Documentation for json_credentials is misleading

Joran Elias created ARROW-17894:
-----------------------------------

             Summary: [R] Documentation for json_credentials is misleading
                 Key: ARROW-17894
                 URL: https://issues.apache.org/jira/browse/ARROW-17894
             Project: Apache Arrow
          Issue Type: Bug
          Components: R
    Affects Versions: 9.0.1
            Reporter: Joran Elias


For authenticating with GCS via a JSON credentials file, the documentation under ?FileSystem for GcsFileSystem$create() says:

 
 * {{{}json_credentials{}}}: optional string for authentication. Point to a JSON credentials file downloaded from GCS.

 

Additionally, the GCS Authentication section of Working with Cloud Storage (S3, GCS) in the file system vignette says:
{quote}or {{{}json_credentials{}}}, to reference a downloaded credentials file.
{quote}
 

Both of these seem to imply that json_credentials expects a path to a JSON credentials file downloaded from GCP. However, when a file path is provided you get an invalid argument error:

 
{code:java}
> bucket <- gs_bucket(bucket = 'pinned_data',json_credentials = json_path)
> bucket$ls(recursive = TRUE)
Error: Invalid: google::cloud::Status(INVALID_ARGUMENT: Permanent error in ListObjects: Invalid ServiceAccountCredentials,parsing failed on data loaded from memory). Detail: [errno 22] Invalid argument
{code}
 

However, if you pass a string containing the raw JSON from the file itself, the above code snippet works and returns the names of the objects in the bucket.

Both sections of the documentation should be clarified to explicitly say that the argument expects the actual JSON rather than a file path to the JSON file.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)