パッケージ google.golang.org/appengine/blobstore(v1.6.8)

blobstore パッケージは、App Engine の永続 blob ストレージ サービス用クライアントを提供します。

関数

func BlobKeyForFile

func BlobKeyForFile(c context.Context, filename string) (appengine.BlobKey, error)

BlobKeyForFile は、Google ストレージ ファイルの BlobKey を返します。ファイル名は「/gs/bucket_name/object_name」の形式にする必要があります。

func Delete

func Delete(c context.Context, blobKey appengine.BlobKey) error

Delete は blob を削除します。

func DeleteMulti

func DeleteMulti(c context.Context, blobKey []appengine.BlobKey) error

DeleteMulti は複数の blob を削除します。

func ParseUpload

func ParseUpload(req *http.Request) (blobs map[string][]*BlobInfo, other url.Values, err error)

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

func UploadURL(c context.Context, successPath string, opts *UploadURLOptions) (*url.URL, error)

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

func Stat(c context.Context, blobKey appengine.BlobKey) (*BlobInfo, error)

Stat は、渡された blobKey の BlobInfo を返します。キーに blob が見つからなかった場合、Stat は datastore.ErrNoSuchEntity を返します。

Reader

type Reader interface {
	io.Reader
	io.ReaderAt
	io.Seeker
}

Reader は blob リーダーです。

func NewReader

func NewReader(c context.Context, blobKey appengine.BlobKey) Reader

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 を作成するオプションです。