웹 스토리지 (Web Storage)
정적 웹사이트 호스팅 기능입니다. 콘솔에서 웹 스토리지를 생성하고 배포한 뒤, SDK로는 페이지별 메타데이터(SEO/OG 태그)를 관리할 수 있습니다.
⚠️ 웹 스토리지 생성/배포 자체는 콘솔과 REST API 또는 Connect Base CLI 로 진행합니다. SDK에는
cb.webStorage모듈이 없으며, SEO 메타데이터만cb.storage.setPageMeta등으로 다룰 수 있습니다.🔐 생성/배포/승격 계열 REST 엔드포인트는 Secret Key(
cb_sk_*)가 필요합니다. 아래 HTTP API 절을 참고하세요. 페이지 메타 API 는 Public Key 만으로 그대로 동작합니다.
페이지 메타 (OG 태그 / JSON-LD)
await cb.storage.setPageMeta('web_storage_id', {
path: '/products/123',
title: '최신 스마트폰 - 내 쇼핑몰',
description: '최고의 성능, 최저가 보장',
image: 'https://example.com/product.jpg',
og_type: 'product',
json_ld: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'Product',
name: '최신 스마트폰',
offers: { '@type': 'Offer', price: '999000', priceCurrency: 'KRW' }
})
})일괄 설정 (최대 100개)
await cb.storage.batchSetPageMeta('web_storage_id', {
pages: [
{ path: '/products/1', title: '상품 1', description: '설명 1' },
{ path: '/products/2', title: '상품 2', description: '설명 2' }
]
})조회 / 삭제
// 단일 조회
const meta = await cb.storage.getPageMeta('web_storage_id', '/products/123')
// 페이지네이션 목록
const list = await cb.storage.listPageMetas('web_storage_id', { limit: 20, offset: 0 })
// 단일 삭제
await cb.storage.deletePageMeta('web_storage_id', '/products/123')
// 전체 삭제
await cb.storage.deleteAllPageMetas('web_storage_id')함께 보기
- REST API — Storage — 웹 스토리지 생성, 파일 업로드, 배포 엔드포인트
- Connect Base CLI — 빌드된 정적 사이트를 한 줄로 배포하는 방법
HTTP API
🔐 여기 있는 엔드포인트는 Secret Key 가 필요합니다.
X-Public-Key(cb_pk_*) 는 브라우저 번들에 그대로 실려 나가는 공개 식별자라 배포 권한을 증명하지 못합니다. 그래서 목록/생성/배포/승격 호출은X-Public-Key와 함께Authorization: Bearer cb_sk_*를 요구합니다.deploy/manifest,deploy/incremental,deploy/presign,deployments도 동일합니다. 누락하면 401SECRET_KEY_REQUIRED가 납니다.Secret Key 는 절대 클라이언트 코드나 저장소에 넣지 마세요. CI 시크릿이나 환경변수 (
CONNECTBASE_SECRET_KEY)로 주입하세요.CLI 를 쓰신다면 최신 버전으로 업데이트만 하면 됩니다 (
npm i -g connectbase-client@latest)..connectbaserc의secretKey또는CONNECTBASE_SECRET_KEY를 자동으로 실어 보냅니다.위의
cb.storage.setPageMeta등 페이지 메타 API 는 변경 없이 Public Key 만으로 동작합니다.
웹 스토리지 목록 조회 / 생성
# 목록
curl -X GET "https://api.connectbase.world/v1/public/storages/webs" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key"
# 생성
curl -X POST "https://api.connectbase.world/v1/public/storages/webs" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key" \
-H "Content-Type: application/json" \
-d '{
"name": "my-website",
"description": "내 웹사이트"
}'CLI 배포
# 프로덕션
curl -X POST "https://api.connectbase.world/v1/public/storages/webs/web_xxx/deploy" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key" \
-F "[email protected]"
# QA 채널 배포 (promote_mode 무관 QA-only, --dev 별칭)
curl -X POST "https://api.connectbase.world/v1/public/storages/webs/web_xxx/deploy?target=qa" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key" \
-F "[email protected]"
# QA 검증 후 production 승격 (포인터 스왑 — 재빌드 없음)
curl -X POST "https://api.connectbase.world/v1/public/storages/webs/web_xxx/promote" \
-H "X-Public-Key: cb_pk_your_public_key" \
-H "Authorization: Bearer cb_sk_your_secret_key"📌 보통
npx connectbase-client deploy [dir]CLI 가 이 엔드포인트를 자동으로 호출합니다. 자세한 페이지 메타 엔드포인트는 REST API — Web Storage 를 참고하세요.