blobstore パッケージは、App Engine の永続 blob ストレージ サービス用クライアントを提供します。
関数
func BlobKeyForFile
BlobKeyForFile は、Google ストレージ ファイルの BlobKey を返します。ファイル名は「/gs/bucket_name/object_name」の形式にする必要があります。
func Delete
Delete は blob を削除します。
func DeleteMulti
DeleteMulti は複数の blob を削除します。
func ParseUpload
ParseUpload は、blob のアップロードに成功した後にアプリが App Engine から取得した POST リクエストを解析します。リクエストを取得すると、ParseUpload は受信した blob のマップ(キー付きの HTML フォーム要素名)と blob 以外の POST パラメータを返します。
func Send
func Send(response http.ResponseWriter, blobKey appengine.BlobKey)
Send は、レスポンスにヘッダーを設定し、レスポンス本文として blob を送信するように App Engine に指示します。これは、手動で読み取り / 書き込みを行うよりも効率的です。また、通常のレスポンス サイズの制限に影響を受けません。
func UploadURL
UploadURL は、ユーザーが記入するフォームのアップロード URL を作成し、そのフォームの POST が完了したら読み込むようにアプリケーション パスを渡します。この URL は期限付きで、再利用できません。opts パラメータは nil にすることもできます。
BlobInfo
type BlobInfo struct {
BlobKey appengine.BlobKey
ContentType string `datastore:"content_type"`
CreationTime time.Time `datastore:"creation"`
Filename string `datastore:"filename"`
Size int64 `datastore:"size"`
MD5 string `datastore:"md5_hash"`
// ObjectName is the Google Cloud Storage name for this blob.
ObjectName string `datastore:"gs_object_name"`
}
BlobInfo は、データストアに格納される blob メタデータです。Filename は空にすることもできます。
func Stat
Stat は、渡された blobKey の BlobInfo を返します。キーに blob が見つからなかった場合、Stat は datastore.ErrNoSuchEntity を返します。
Reader
Reader は blob リーダーです。
func NewReader
NewReader は blob のリーダーを返します。これは常に成功します。blob が存在しないと、最初の読み取り時にエラーが報告されます。
UploadURLOptions
type UploadURLOptions struct {
MaxUploadBytes int64 // optional
MaxUploadBytesPerBlob int64 // optional
// StorageBucket specifies the Google Cloud Storage bucket in which
// to store the blob.
// This is required if you use Cloud Storage instead of Blobstore.
// Your application must have permission to write to the bucket.
// You may optionally specify a bucket name and path in the format
// "bucket_name/path", in which case the included path will be the
// prefix of the uploaded object's name.
StorageBucket string
}
UploadURLOptions は、アップロード URL を作成するオプションです。