Thanks to visit codestin.com
Credit goes to github.com

Skip to content

applalezar/Dosya-sdk

 
 

Files SDK

Nesne ve blob arka uçları için birleşik bir depolama SDK'sı. Küçük, basit bir API. Web standartlarında G/Ç. Yerel istemciye ihtiyaç duyduğunuzda bir kaçış yolu.

Yükleme

npm install files-sdk

Her sağlayıcının yerel SDK'sı isteğe bağlı bir bağımlılıktır — yalnızca gerçekten kullandığınız SDK'ları, files-sdk ile birlikte yükleyin. Birkaç örnek:

# S3 (and any S3-compatible: R2, MinIO, DigitalOcean Spaces, Backblaze B2, Wasabi, …)
npm install files-sdk @aws-sdk/client-s3 @aws-sdk/s3-presigned-post @aws-sdk/s3-request-presigner

# Google Bulut Depolama
npm install files-sdk @google-cloud/storage google-auth-library

# Azure Blob Depolama
npm install files-sdk @azure/storage-blob @azure/core-auth @azure/identity

# Vercel Blob
npm install files-sdk @vercel/blob

Adaptör başına kurulum komutu için files-sdk.dev adresine bakın. Eşi kurulu olmayan bir adaptörü içe aktarırsanız, Node eksik paketi belirterek ERR_MODULE_NOT_FOUND hatası verecektir.

Hızlı Başlangıç

import { Files } from "files-sdk";
import { s3 } from "files-sdk/s3";

const files = new Files({
  adapter: s3({ bucket: "uploads" }),
});

await files.upload("avatars/abc.png", file, { contentType: "image/png" });
const got = await files.download("avatars/abc.png");
const exists = await files.exists("avatars/abc.png");

Adaptör içe aktarma işlemini (files-sdk/r2, files-sdk/gcs, files-sdk/azure, …) değiştirin, kodunuzun geri kalanı aynı kalır.

Dosya tanıtıcıları

Uygulama kodunuz aynı nesneyle tekrar tekrar çalışıyorsa files.file(key) kullanın:

const avatar = files.file("avatars/abc.png");

await avatar.upload(file, { contentType: "image/png" });

if (await avatar.exists()) {
  const meta = await avatar.head();
  const url = await avatar.url({ expiresIn: 300 });
}

await avatar.delete();

Dosya tanıtıcıları, aynı adaptör yöntemlerinin üzerinde ince bir katmandır, bu nedenle adaptörlerin ekstra bir şey uygulamasına gerek yoktur.

Elde Edecekleriniz

  • Sağlayıcılar arasında tek bir APIupload, download, head, exists, delete, copy, list, url, signedUploadUrl ve anahtar kapsamlı bir tanıtıcı için file(key). Yapı, S3, GCS, Azure, Vercel Blob, yerel dosya sistemi ve Dropbox gibi tüketici sağlayıcılarında aynıdır. exists yalnızca sağlayıcı NotFound bildirdiğinde false döndürür; kimlik doğrulama, izin ve taşıma hataları yine de hata verir.

  • Web standardı G/Ç — gövdeler Blob, File, ReadableStream, Uint8Array, ArrayBuffer veya string'dir. Sağlayıcıya özgü türler kodunuza sızmaz.

  • Kaçış yolu — her adaptör, yerel istemcisini files.raw adresinde gösterir, bu nedenle sağlayıcıya özgü özellikler tek bir özellik erişimiyle erişilebilir.

  • Ağaç budama özelliği — her adaptör ayrı bir giriş noktasıdır. Yalnızca içe aktardığınızı paketlersiniz.

Adaptörler

S3 ve S3 uyumlu depolama alanlarını, başlıca bulut blob platformlarını, uç/sunucusuz blob hizmetlerini, yerel dosya sistemini ve tüketici dosya sağlayıcılarını kapsayan büyüyen bir katalog. Güncel liste ve adaptör başına kurulum için files-sdk.dev adresine bakın.

Yapay Zeka Araçları

Yapılandırılmış bir Files örneğini, popüler yapay zeka SDK'ları için hazır araçlar olarak saran, giderek büyüyen bir alt yol kümesi bulunmaktadır. Bunlar arasında şu anda Vercel AI SDK (files-sdk/ai-sdk), OpenAI'nin Responses API ve Agents SDK (files-sdk/openai) ve Anthropic'in Claude Agent SDK (files-sdk/claude) yer almaktadır. Hepsi aynı dosya işlemlerini ve onay kapısı varsayılanlarını paylaşır, böylece modeller, uygulama kodunuzla aynı birleşik yüzey üzerinden kova dosyanızı tarayabilir, okuyabilir ve (isteğe bağlı olarak) değiştirebilir. Güncel liste ve SDK başına ayarlar için files-sdk.dev adresine bakın.

Lisans

MIT

About

Nesne ve blob arka uçları için birleşik bir depolama SDK'sı. Küçük, dürüst bir API. Web standartlarına uygun G/Ç.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 93.2%
  • MDX 6.5%
  • Other 0.3%