Skip to content

Commit

Permalink
add gcp oauth support
Browse files Browse the repository at this point in the history
  • Loading branch information
twuebi committed Sep 30, 2024
1 parent cda4a0c commit 8643dc2
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions crates/iceberg/src/io/storage_gcs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,23 @@ pub const GCS_SERVICE_PATH: &str = "gcs.service.path";
pub const GCS_USER_PROJECT: &str = "gcs.user-project";
/// Allow unauthenticated requests
pub const GCS_NO_AUTH: &str = "gcs.no-auth";
/// Google Cloud Storage credentials JSON string
pub const GCS_CREDENTIALS_JSON: &str = "gcs.credentials-json";
/// Google Cloud Storage token
pub const GCS_TOKEN: &str = "gcs.oauth2.token";

/// Parse iceberg properties to [`GcsConfig`].
pub(crate) fn gcs_config_parse(mut m: HashMap<String, String>) -> Result<GcsConfig> {
let mut cfg = GcsConfig::default();

if let Some(cred) = m.remove(GCS_CREDENTIALS_JSON) {
cfg.credential = Some(cred);
}

if let Some(token) = m.remove(GCS_TOKEN) {
cfg.token = Some(token);
}

if let Some(endpoint) = m.remove(GCS_SERVICE_PATH) {
cfg.endpoint = Some(endpoint);
}
Expand Down

0 comments on commit 8643dc2

Please sign in to comment.