iceberg-cpp's FileIO registry currently has Arrow-local (src/iceberg/arrow/arrow_io_register.cc), Arrow-S3 (src/iceberg/arrow/s3/arrow_s3_file_io.cc), and REST-signed-URL (src/iceberg/catalog/rest/rest_file_io.cc). Aliyun OSS is missing.
Two reasonable implementations, either works:
- Reuse Arrow's S3 client against an OSS endpoint (OSS speaks S3-compatible API for the most part). Plumbing-only; no new SDK dependency.
- Wrap Aliyun OSS SDK directly. More features (e.g., STS token refresh, native multipart) but a heavier dep.
Path scheme to support: oss://<bucket>/<key>.
Properties to thread through: endpoint, region, access key id/secret, optional STS security token. Suggest mirroring src/iceberg/arrow/s3/s3_properties.h.
iceberg-cpp's
FileIOregistry currently has Arrow-local (src/iceberg/arrow/arrow_io_register.cc), Arrow-S3 (src/iceberg/arrow/s3/arrow_s3_file_io.cc), and REST-signed-URL (src/iceberg/catalog/rest/rest_file_io.cc). Aliyun OSS is missing.Two reasonable implementations, either works:
Path scheme to support:
oss://<bucket>/<key>.Properties to thread through: endpoint, region, access key id/secret, optional STS security token. Suggest mirroring
src/iceberg/arrow/s3/s3_properties.h.