duckdb / duckdb_delta

DuckDB extension for Delta Lake
MIT License
121 stars 14 forks source link

Support AWS_SESSION_TOKEN for secure token service #24

Closed bschulth closed 3 months ago

bschulth commented 4 months ago

Update:

https://github.com/duckdb/duckdb_delta/blob/4d647079a4e0188abe0e534c363cf9ea64f5a002/src/functions/delta_scan.cpp#L101C5-L114C6

with:

    auto key_id = kv_secret.TryGetValue("key_id").ToString();
    auto secret = kv_secret.TryGetValue("secret").ToString();
    auto region = kv_secret.TryGetValue("region").ToString();
    auto sts    = kv_secret.TryGetValue("session_token").ToString();

    if (key_id.empty() && secret.empty()) {
        ffi::set_builder_option(builder, KernelUtils::ToDeltaString("skip_signature"), KernelUtils::ToDeltaString("true"));
    }

    if (!key_id.empty()) {
        ffi::set_builder_option(builder, KernelUtils::ToDeltaString("aws_access_key_id"), KernelUtils::ToDeltaString(key_id));
    }
    if (!secret.empty()) {
        ffi::set_builder_option(builder, KernelUtils::ToDeltaString("aws_secret_access_key"), KernelUtils::ToDeltaString(secret));
    }
    if (!sts.empty()) {
        ffi::set_builder_option(builder, KernelUtils::ToDeltaString("aws_session_token"), KernelUtils::ToDeltaString(sts));
    }   
samansmink commented 3 months ago

fixed with https://github.com/duckdb/duckdb_delta/pull/25