You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Carl Boettiger (Jira)" <ji...@apache.org> on 2022/12/11 04:32:00 UTC

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

    [ https://issues.apache.org/jira/browse/ARROW-17894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17645720#comment-17645720 ] 

Carl Boettiger commented on ARROW-17894:
----------------------------------------

Unfortunately I still get an error when passing the raw JSON
 > gs$ls()
Error: Invalid: google::cloud::Status(INVALID_ARGUMENT: Permanent error in ListObjects: Invalid ServiceAccountCredentials: could not parse PEM to get private key ). Detail: [errno 22] Invalid argument

> [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
>            Priority: Major
>
> 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)