docs: add Tencent COS S3-compatible configuration example#3451
docs: add Tencent COS S3-compatible configuration example#3451Sidra-009 wants to merge 6 commits into
Conversation
rambleraptor
left a comment
There was a problem hiding this comment.
I think this sounds great. Since the URL won’t change, we could consider having some kind of property that auto-sets the URI.
| | s3.force-virtual-addressing | True | Whether to use virtual addressing of buckets. This is set to `True` by default as OSS can only be accessed with virtual hosted style address. | | ||
| | s3.anonymous | True | Configure whether to use anonymous connection. If False (default), uses key/secret if configured or standard AWS configuration methods. | | ||
| --- | ||
|
|
There was a problem hiding this comment.
Why did you remove the table for "Alibaba Cloud Object Storage Service (OSS)"?
| | s3.access-key-id | `<access-key>` | Access key for COS | | ||
| | s3.secret-access-key | `<secret-key>` | Secret key for COS | | ||
| | s3.session-token | `<optional-session-token>` | Optional session token | |
There was a problem hiding this comment.
nit: The second column is labeled "Example." I would suggest avoiding using placeholder text in this column:
| | s3.access-key-id | `<access-key>` | Access key for COS | | |
| | s3.secret-access-key | `<secret-key>` | Secret key for COS | | |
| | s3.session-token | `<optional-session-token>` | Optional session token | | |
| | s3.access-key-id | admin | Access key for COS | | |
| | s3.secret-access-key | password | Secret key for COS | | |
| | s3.session-token | AQoDYXdzEJr... | Optional session token | |
| catalog = load_catalog( | ||
| { | ||
| "s3.endpoint": "https://cos.ap-guangzhou.myqcloud.com", | ||
| "s3.access-key-id": "<access-key>", | ||
| "s3.secret-access-key": "<secret-key>", | ||
| } | ||
| ) |
There was a problem hiding this comment.
Have you verified whether this code snippet actually works? Leading ** look missing.
catalog = load_catalog(
**{
"s3.endpoint": "https://cos.ap-guangzhou.myqcloud.com",
"s3.access-key-id": "<access-key>",
"s3.secret-access-key": "<secret-key>",
}
)| time.tzset() | ||
|
|
||
| if hasattr(time, "tzset"): | ||
| time.tzset() |
There was a problem hiding this comment.
thanks for the review i will split this PR into separate changes as suggested:
- COS documentation update
- Windows tzset fix
- markdownlint formatting fixes
rambleraptor
left a comment
There was a problem hiding this comment.
We shouldn't have stray Python changes in a docs change.
|
|
||
| ### Alibaba Cloud Object Storage Service (OSS) | ||
|
|
||
| | Key | Example | Description | |
There was a problem hiding this comment.
Why did you move this table up? It makes the diff messier.
Related to #3239
Rationale for this change
This PR adds documentation for Tencent Cloud Object Storage (COS) showing how it can be used with PyIceberg via the existing S3FileIO / PyArrowFileIO implementation.
Tencent COS is S3-compatible, so no new filesystem backend (like fsspec/cosfs) or additional dependencies are required. Users can configure COS using standard S3 configuration keys such as
s3.endpoint,s3.access-key-id, ands3.secret-access-key.Are these changes tested?
Yes.
Verified locally that Tencent COS works using the S3-compatible configuration approach by setting the appropriate
s3.endpoint. No code changes were required, only configuration-level validation.Are there any user-facing changes?
Yes.
This improves documentation by adding a clear example for Tencent COS integration, helping users configure COS with PyIceberg using existing S3FileIO support.