界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

btp-developer-guide

btp-developer-guide

【开发与工程】SAP BTP Developer Guide — runtime selection, CAP/ABAP Cloud/SAP Build, integration patterns, CI/CD, monitoring

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: btp-developer-guide description: SAP BTP Developer Guide — runtime selection, CAP/ABAP Cloud/SAP Build, integration patterns, CI/CD, monitoring trigger: keywords: [btp developer, runtime selection, cap vs abap, btp architecture, cf vs kyma, build app on btp] intent: Designing and building applications on SAP BTP prerequisites:

  • BTP cockpit access (global account + subaccount)
  • cf CLI logged in (cf login -a api.cf.<region>.hana.ondemand.com)
  • Node.js 20+ (for CAP) or ABAP Cloud dev environment
  • BAS or VS Code with CDS plugin (for CAP)

SAP BTP Developer Guide

1. Choose Runtime

RuntimeBest ForLanguages
Cloud FoundryCAP apps, microservices, stateless APIsNode.js, Java, Python, Go
KymaEvent-driven, custom Docker stacksAny container
ABAP EnvironmentRAP Cloud extensions, SteampunkABAP (clean core)
SAP BuildCitizen dev, low-code process automationLCNC

2. CAP Quick Start

cds init my-project && cd cds-project
cds add mta && cds add app --ui5 && cds add sample
cds watch                    # http://localhost:4004
npx cds add xsuaa            # authentication
npx cds add hana             # production DB
mbt build                    # → mta_archives/*.mtar
cf deploy mta_archives/*.mtar

3. Integration Patterns

PatternBTP ServiceProtocol
REST/OData ProxyAPI ManagementHTTP
Async EventsEvent MeshMQTT, CloudEvents
B2B/EDITPMAS2, OFTP2
File TransferCPISFTP
Scheduled JobsJob SchedulingCron-triggered REST

4. CI/CD Pipeline

# .pipeline/config.yml
stages:
  - Build: mbt build
  - Test: cds test --coverage
  - Lint: eslint src/ && abaplint --format json
  - Deploy DEV: cf deploy mta_archives/*.mtar -f
  - Deploy PRD: manual approval → cf deploy mta_archives/*.mtar

5. Monitoring

ServiceWhat It Monitors
Cloud LoggingCentralized logs via OpenSearch + Kibana dashboards
Alert NotificationProactive alerts (email, webhook, Slack)
Automation PilotAutomated incident response (remediation)

Pitfalls

  • No MTA wrapper → Cause: deploying individual apps without MTA. Solution: always use cds add mta and deploy via mbt build → cf deploy.
  • Destinations not found → Cause: destinations are subaccount-scoped. Solution: create destinations in the same subaccount as the consuming app; use cf env APP_NAME to verify binding.
  • CF memory crash → Cause: app exceeds memory limit. Solution: check cf app APP_NAME for mem usage; scale with cf scale APP_NAME -m 256M.
  • Kyma vs CF confusion → Cause: choosing runtime by familiarity. Solution: prefer CF for stateless CAP/API workloads; Kyma for event-heavy, polyglot, or stateful container stacks.
  • Missing xs-security.json → Cause: app deployed without authentication. Solution: cds add xsuaa generates the security descriptor; customize scopes/roles in xs-security.json.

Verification

cf apps                                    # list deployed apps
cf services                                # list service instances
cf logs APP_NAME --recent                  # recent logs
curl https://<app>.cfapps.<region>.hana.ondemand.com/health -s
我的收藏