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)