coryan commented on a change in pull request #11812:
URL: https://github.com/apache/arrow/pull/11812#discussion_r760223031
##########
File path: cpp/src/arrow/filesystem/gcsfs.cc
##########
@@ -324,17 +407,46 @@ Result<std::shared_ptr<io::InputStream>>
GcsFileSystem::OpenInputStream(
return Status::IOError("Only files can be opened as input streams");
}
ARROW_ASSIGN_OR_RAISE(auto p, GcsPath::FromString(info.path()));
- return impl_->OpenInputStream(p);
+ return impl_->OpenInputStream(p.bucket, p.object, gcs::Generation(),
+ gcs::ReadFromOffset());
}
Result<std::shared_ptr<io::RandomAccessFile>> GcsFileSystem::OpenInputFile(
const std::string& path) {
- return Status::NotImplemented("The GCS FileSystem is not fully implemented");
+ ARROW_ASSIGN_OR_RAISE(auto p, GcsPath::FromString(path));
+ auto metadata = impl_->GetObjectMetadata(p);
Review comment:
And thus my (maybe too obscure) note about "undocumented (and likely to
break) APIs". The C++ client library currently returns the HTTP headers, which
include thinks like `x-goog-generation` (not the full metadata). This is only
intended for debugging, and I **know** of future changes that will make these
headers unavailable (sometimes, when the user selects a non-HTTP transport).
I can change the C++ client to return the generation in a future-proof API.
I would rather do that in a separate PR, after I fix the C++ client library
(https://github.com/googleapis/google-cloud-cpp/issues/7677).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]