SAP / SAP/cloud-sdk-python

Feature Request: Add CBC (Central Business Configuration) consumption support

Đang mở
#280 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

enhancement
Ngôn ngữ chính
Python
Star
28
Fork
42
Merge trung bình
2 ngày 13 giờ
Pull request đã merge (30 ngày)
35

Mô tả

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:

  • CBCClient Protocol - 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 URL
  • CachingClient - implements CBCClient with an in-memory cache in front of a delegate client; in-memory backend included, protocol open for custom backends
  • client_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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.