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

bkend-storage

bkend-storage

【效率与协作】bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets. Triggers: bkend file, bkend upload, bkend download, bkend storage, bkend presigned URL

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

技能说明

GitHub

name: bkend-storage classification: capability classification-reason: Pattern guidance may overlap with model's built-in knowledge as it improves deprecation-risk: medium effort: medium description: | bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets. Triggers: bkend file, bkend upload, bkend download, bkend storage, bkend presigned URL user-invocable: false agent: bkit:bkend-expert allowed-tools:

  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Bash
  • mcp__bkend__* imports:
  • ${PLUGIN_ROOT}/templates/shared/bkend-patterns.md

bkend.ai Storage Guide

Upload Methods

MethodUse CaseProcess
SingleNormal filesPresigned URL -> PUT upload -> Register metadata
MultipleMultiple filesRepeat single upload
MultipartLarge filesInitialize -> Part URLs -> Complete

Presigned URL

  • Validity: 15 minutes
  • PUT method with file binary
  • Content-Type header required

File Visibility (4 levels)

LevelAccessURL Type
publicAnyoneCDN URL (no expiry)
privateOwner onlyPresigned URL (1 hour)
protectedAuthenticated usersPresigned URL (1 hour)
sharedSpecified targetsPresigned URL (1 hour)

Size Limits

CategoryMax Size
Images10 MB
Videos100 MB
Documents20 MB

Storage Categories

images, documents, media, attachments

MCP Storage Workflow

bkend MCP does NOT have dedicated storage tools. Use this workflow:

  1. Search docs: search_docs with query "file upload presigned url"
  2. Get examples: search_docs with query "file upload code examples"
  3. Generate code: AI generates REST API code for file operations

Searchable Storage Docs

Doc IDContent
7_code_examples_dataCRUD + file upload code examples

REST Storage API

MethodEndpointDescription
POST/v1/files/presigned-urlGenerate presigned URL
POST/v1/filesRegister metadata (complete upload)
GET/v1/filesFile list
GET/v1/files/:fileIdFile detail
PATCH/v1/files/:fileIdUpdate metadata
DELETE/v1/files/:fileIdDelete file
POST/v1/files/:fileId/download-urlGenerate download URL

Multipart Upload (Large Files)

MethodEndpointDescription
POST/v1/files/multipart/initInitialize multipart upload
POST/v1/files/multipart/presigned-urlGet part upload URL
POST/v1/files/multipart/completeComplete multipart upload
POST/v1/files/multipart/abortAbort multipart upload

Upload Flow (Single File)

1. POST /v1/files/presigned-url -> { url, fileId }
2. PUT {url} with file binary + Content-Type header
3. POST /v1/files with { fileId, filename, contentType, size, visibility }

Multipart Upload Flow (Large File)

1. POST /v1/files/multipart/init -> { uploadId }
2. POST /v1/files/multipart/presigned-url -> [{ partNumber, url }]
3. PUT each part URL with file chunk
4. POST /v1/files/multipart/complete -> { file }

Official Documentation (Live Reference)

For the latest storage documentation, use WebFetch:

我的收藏