Feature Request: Add CBC (Central Business Configuration) consumption support
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 28
- フォーク
- 42
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 35
説明
Describe the Problem
CBC (Central Business Configuration) is an SAP service for managing tenant-specific business configuration content.
There is currently no support in the SAP Cloud SDK for Python for consuming CBC configuration. SAP applications and AI agents built on SAP BTP need to fetch tenant-specific business configuration from CBC at runtime and keep it fresh as content changes.
Without SDK support, every application team must implement the same HTTP client, mTLS authentication, caching, and cache-invalidation logic themselves.
Propose a Solution
Add a cbc subpackage to the SAP Cloud SDK for Python covering the consumption side of CBC integration. The key components:
CBCClientProtocol - interface for accessing CBC configuration; allows different implementations to be substituted (production, local dev, test doubles)DefaultClient- production client using mTLS (X.509) authentication and subdomain-per-tenant routing; auto-detects local/mock mode from the URLCachingClient- implementsCBCClientwith an in-memory cache in front of a delegate client; in-memory backend included, protocol open for custom backendsclient_from_env()- factory that resolves the right client from environment variables or well-known credential paths
The target consumers are SAP application developers and AI agent developers writing Python on BTP - not end SAP customers.
Describe Alternatives
- Each team implements their own client: results in duplicated boilerplate and inconsistent caching and error-handling strategies across teams.
- Generic HTTP client only: leaves mTLS setup, version resolution, and caching entirely to the caller.
Affected Development Phase
Development
Impact
Impaired
Timeline
Active development is underway. I am willing to work on this and open a pull request once the issue is approved.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。