storage package

Firebase 雲端儲存

功能

功能描述
函數(應用程序,...)
getStorage(應用程序,bucketUrl)取得給定 Firebase 應用的FirebaseStorage實例。
功能(存儲,...)
connectStorageEmulator(儲存、主機、連接埠、選項)修改此FirebaseStorage實例以與 Cloud Storage 模擬器通訊。
參考(存儲,網址)傳回給定 url 的StorageReference
函數(參考,...)
刪除物件(參考)刪除此位置的物件。
getBlob(ref, maxDownloadSizeBytes)下載物件位置處的資料。如果未找到該對象,則傳回錯誤。若要使用此功能,您必須將套用的來源列入 Cloud Storage 儲存桶中的白名單。另請參閱 https://cloud.google.com/storage/docs/configuring-cors該 API 在 Node.js 中不可用。
getBytes(參考, maxDownloadSizeBytes)下載物件位置處的資料。如果未找到該對象,則傳回錯誤。若要使用此功能,您必須將套用的來源列入 Cloud Storage 儲存桶中的白名單。另請參閱 https://cloud.google.com/storage/docs/configuring-cors
取得下載網址(參考)傳回給定StorageReference的下載 URL
取得元資料(參考)使用該物件的元資料解析的Promise 。如果該物件不存在或無法檢索元數據,則承諾將被拒絕。
getStream(參考, maxDownloadSizeBytes)下載物件位置處的資料。如果未找到對象,則引發錯誤事件。該 API 僅在 Node.js 中可用。
列表(參考,選項)列出此儲存引用下的項目(檔案)和前綴(資料夾)。清單 API 僅適用於 Firebase 規則版本 2。 GCS 是一個 key-blob 儲存。 Firebase 儲存強制採用「/」分隔資料夾結構的語意。如果您想了解更多信息,請參閱 GCS 的列表 API。為了遵守 Firebase 規則的語義,Firebase 儲存不支援路徑以「/」結尾或包含兩個連續「/」的物件。 Firebase儲存清單API將過濾這些不支援的物件。如果儲存桶中有太多不支援的對象,list() 可能會失敗。
全部列出(參考)列出此儲存引用下的所有項目(檔案)和前綴(資料夾)。這是一個輔助方法,用於重複呼叫 list() 直到沒有更多結果。預設分頁大小為 1000。注意:如果在此操作運行期間更改對象,結果可能會不一致。警告:如果結果太多, listAll可能會消耗太多資源。
更新元資料(參考,元資料)更新該物件的元資料。
uploadBytes(參考、資料、元資料)將資料上傳到該物件的位置。上傳不可恢復。
uploadBytesResumable(參考、資料、元資料)將資料上傳到該物件的位置。上傳可以暫停和恢復,並公開進度更新。
uploadString(參考、值、格式、元資料)將字串上傳到該物件的位置。上傳不可恢復。
函數(存儲或引用,...)
ref(儲存或引用,路徑)傳回預設儲存桶中給定路徑的StorageReference

課程

班級描述
儲存錯誤Firebase 儲存 SDK 傳回的錯誤。

列舉

列舉描述
儲存錯誤代碼可以附加到StorageError物件的錯誤代碼。

介面

介面描述
Firebase存儲Firebase 儲存實例。
完整元數據完整的物件元資料集,包括唯讀屬性。
清單選項選項list()接受。
清單結果list() 傳回的結果。
可設定元數據可以隨時設定的對像元資料。
存儲觀察者Firebase 儲存的流觀察器。
儲存參考表示對 Google Cloud Storage 物件的引用。開發人員可以上傳、下載和刪除對象,以及取得/設定對像元資料。
上傳元數據可以在上傳時設定的對像元資料。
上傳結果不可斷點上傳回傳的結果。
上傳任務表示上傳對象的過程。允許您監控和管理上傳。
上傳任務快照儲存有關上傳任務目前狀態的資料。

變數

多變的描述
字串格式用於上傳的可能字串格式的枚舉。

類型別名

類型別名描述
字串格式用於上傳的可能字串格式的枚舉。
任務事件在任務上觸發的事件。
任務狀態表示正在運行的上傳的目前狀態。

函數(應用程序,...)

getStorage(應用程序,bucketUrl)

取得給定 Firebase 應用的FirebaseStorage實例。

簽名:

export declare function getStorage(app?: FirebaseApp, bucketUrl?: string): FirebaseStorage;

參數

範圍類型描述
應用程式Firebase應用程式用於取得FirebaseStorage實例的 Firebase 應用程式。
桶地址細繩您的 Firebase 儲存桶的 gs:// url。如果未通過,則使用應用程式的預設儲存桶。

返回:

Firebase存儲

FirebaseStorage實例。

功能(存儲,...)

connectStorageEmulator(儲存、主機、連接埠、選項)

修改此FirebaseStorage實例以與 Cloud Storage 模擬器通訊。

簽名:

export declare function connectStorageEmulator(storage: FirebaseStorage, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

參數

範圍類型描述
貯存Firebase存儲FirebaseStorage實例
主持人細繩模擬器主機(例如:localhost)
港口數位模擬器連接埠(例如:5001)
選項{mockUserToken?: EmulatorMockTokenOptions |細繩; }模擬器選項。 options.mockUserToken是用於單元測試安全規則的模擬驗證令牌。

返回:

空白

參考(存儲,網址)

傳回給定 url 的StorageReference

簽名:

export declare function ref(storage: FirebaseStorage, url?: string): StorageReference;

參數

範圍類型描述
貯存Firebase存儲FirebaseStorage實例。
網址細繩網址。如果為空,則傳回根引用。

返回:

儲存參考

函數(參考,...)

刪除物件(參考)

刪除此位置的物件。

簽名:

export declare function deleteObject(ref: StorageReference): Promise<void>;

參數

範圍類型描述
參考儲存參考要刪除的物件的StorageReference

返回:

承諾<無效>

如果刪除成功則解決的Promise

getBlob(ref, maxDownloadSizeBytes)

下載物件位置處的資料。如果未找到該對象,則傳回錯誤。

若要使用此功能,您必須將套用的來源列入 Cloud Storage 儲存桶中的白名單。另請參閱 https://cloud.google.com/storage/docs/configuring-cors

該 API 在 Node.js 中不可用。

簽名:

export declare function getBlob(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<Blob>;

參數

範圍類型描述
參考儲存參考應下載資料的儲存參考。
最大下載大小位元組數位如果設置,則表示要檢索的最大允許大小(以位元組為單位)。

返回:

承諾<Blob>

使用包含物件位元組的 Blob 解析的 Promise

getBytes(參考, maxDownloadSizeBytes)

下載物件位置處的資料。如果未找到該對象,則傳回錯誤。

若要使用此功能,您必須將套用的來源列入 Cloud Storage 儲存桶中的白名單。另請參閱 https://cloud.google.com/storage/docs/configuring-cors

簽名:

export declare function getBytes(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;

參數

範圍類型描述
參考儲存參考應下載資料的儲存參考。
最大下載大小位元組數位如果設置,則表示要檢索的最大允許大小(以位元組為單位)。

返回:

Promise<ArrayBuffer>

包含物件位元組的 Promise

取得下載網址(參考)

傳回給定StorageReference的下載 URL

簽名:

export declare function getDownloadURL(ref: StorageReference): Promise<string>;

參數

範圍類型描述
參考儲存參考用於取得下載 URL 的StorageReference

返回:

承諾<字串>

一個Promise ,解析為該物件的下載 URL。

取得元資料(參考)

使用該物件的元資料解析的Promise 。如果該物件不存在或無法檢索元數據,則承諾將被拒絕。

簽名:

export declare function getMetadata(ref: StorageReference): Promise<FullMetadata>;

參數

範圍類型描述
參考儲存參考從中取得元資料的StorageReference

返回:

Promise<完整元數據>

getStream(參考, maxDownloadSizeBytes)

下載物件位置處的資料。如果未找到對象,則引發錯誤事件。

該 API 僅在 Node.js 中可用。

簽名:

export declare function getStream(ref: StorageReference, maxDownloadSizeBytes?: number): NodeJS.ReadableStream;

參數

範圍類型描述
參考儲存參考應下載資料的儲存參考。
最大下載大小位元組數位如果設置,則表示要檢索的最大允許大小(以位元組為單位)。

返回:

NodeJS.ReadableStream

物件資料為位元組的流

列表(參考,選項)

列出此儲存引用下的項目(檔案)和前綴(資料夾)。

清單 API 僅適用於 Firebase 規則版本 2。

GCS 是一個 key-blob 儲存。 Firebase 儲存強制採用「/」分隔資料夾結構的語意。如果您想了解更多信息,請參閱 GCS 的列表 API。

為了遵守 Firebase 規則的語義,Firebase 儲存不支援路徑以「/」結尾或包含兩個連續「/」的物件。 Firebase儲存清單API將過濾這些不支援的物件。如果儲存桶中有太多不支援的對象,list() 可能會失敗。

簽名:

export declare function list(ref: StorageReference, options?: ListOptions): Promise<ListResult>;

參數

範圍類型描述
參考儲存參考要從中取得清單的StorageReference
選項清單選項有關詳細信息,請參閱列表選項

返回:

Promise<列表結果>

使用項目和前綴解析的Promiseprefixes包含對此子資料夾的引用, items包含對此資料夾中物件的引用。 nextPageToken可用於取得其餘結果。

全部列出(參考)

列出此儲存引用下的所有項目(檔案)和前綴(資料夾)。

這是一個輔助方法,用於重複呼叫 list() 直到沒有更多結果。預設分頁大小為 1000。

簽名:

export declare function listAll(ref: StorageReference): Promise<ListResult>;

參數

範圍類型描述
參考儲存參考要從中取得清單的StorageReference

返回:

Promise<列表結果>

一個Promise ,解析目前儲存引用下的所有項目和前綴。 prefixes包含對此子目錄的引用, items包含對此資料夾中物件的引用。 nextPageToken永遠不會返回。

更新元資料(參考,元資料)

更新該物件的元資料。

簽名:

export declare function updateMetadata(ref: StorageReference, metadata: SettableMetadata): Promise<FullMetadata>;

參數

範圍類型描述
參考儲存參考用於更新元資料的StorageReference
元數據可設定元數據對象的新元資料。只有明確設定的值才會變更。明確將值設為 null 將刪除元資料。

返回:

Promise<完整元數據>

使用該物件的新元資料解析的Promise

uploadBytes(參考、資料、元資料)

將資料上傳到該物件的位置。上傳不可恢復。

簽名:

export declare function uploadBytes(ref: StorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): Promise<UploadResult>;

參數

範圍類型描述
參考儲存參考StorageReference應上傳資料的位置。
數據斑點| Uint8Array |數組緩衝區要上傳的數據。
元數據上傳元數據要上傳的資料的元資料。

返回:

Promise<上傳結果>

包含 UploadResult 的 Promise

uploadBytesResumable(參考、資料、元資料)

將資料上傳到該物件的位置。上傳可以暫停和恢復,並公開進度更新。

簽名:

export declare function uploadBytesResumable(ref: StorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): UploadTask;

參數

範圍類型描述
參考儲存參考StorageReference應上傳資料的位置。
數據斑點| Uint8Array |數組緩衝區要上傳的數據。
元數據上傳元數據要上傳的資料的元資料。

返回:

上傳任務

上傳任務

uploadString(參考、值、格式、元資料)

將字串上傳到該物件的位置。上傳不可恢復。

簽名:

export declare function uploadString(ref: StorageReference, value: string, format?: StringFormat, metadata?: UploadMetadata): Promise<UploadResult>;

參數

範圍類型描述
參考儲存參考應上傳字串的StorageReference
價值細繩要上傳的字串。
格式字串格式要上傳的字串的格式。
元數據上傳元數據要上傳的字串的元資料。

返回:

Promise<上傳結果>

包含 UploadResult 的 Promise

函數(存儲或引用,...)

ref(儲存或引用,路徑)

傳回預設儲存桶中給定路徑的StorageReference

簽名:

export declare function ref(storageOrRef: FirebaseStorage | StorageReference, path?: string): StorageReference;

參數

範圍類型描述
儲存或引用Firebase 儲存|儲存參考FirebaseStorageStorageReference
小路細繩

返回:

儲存參考

字串格式

用於上傳的可能字串格式的枚舉。

簽名:

StringFormat: {
    readonly RAW: "raw";
    readonly BASE64: "base64";
    readonly BASE64URL: "base64url";
    readonly DATA_URL: "data_url";
}

字串格式

用於上傳的可能字串格式的枚舉。

簽名:

export declare type StringFormat = (typeof StringFormat)[keyof typeof StringFormat];

任務事件

在任務上觸發的事件。

簽名:

export declare type TaskEvent = 'state_changed';

任務狀態

表示正在運行的上傳的目前狀態。

簽名:

export declare type TaskState = 'running' | 'paused' | 'success' | 'canceled' | 'error';

儲存錯誤代碼

可以附加到StorageError物件的錯誤代碼。

簽名:

export declare enum StorageErrorCode 

列舉成員

成員價值描述
APP_已刪除"app-deleted"
BUCKET_NOT_FOUND "bucket-not-found"
取消"canceled"
不能_切片_BLOB "cannot-slice-blob"
內部錯誤"internal-error"
無效的論點"invalid-argument"
INVALID_ARGUMENT_COUNT 個"invalid-argument-count"
無效_校驗和"invalid-checksum"
INVALID_DEFAULT_BUCKET "invalid-default-bucket"
INVALID_EVENT_NAME "invalid-event-name"
無效的格式"invalid-format"
INVALID_ROOT_OPERATION "invalid-root-operation"
無效的網址"invalid-url"
NO_DEFAULT_BUCKET "no-default-bucket"
NO_DOWNLOAD_URL "no-download-url"
OBJECT_NOT_FOUND "object-not-found"
PROJECT_NOT_FOUND "project-not-found"
超過配額"quota-exceeded"
重試限制超出"retry-limit-exceeded"
伺服器檔案錯誤大小"server-file-wrong-size"
未經驗證"unauthenticated"
未經授權"unauthorized"
未授權_APP "unauthorized-app"
未知"unknown"
不支援的環境"unsupported-environment"