Documentation ¶
Index ¶
- Variables
- func NewGcsFS(ctx context.Context, opts ...option.ClientOption) (afero.Afero, error)
- func NewGcsFSFromClient(ctx context.Context, client *storage.Client) (afero.Afero, error)
- func NewGcsFSFromClientWithSeparator(ctx context.Context, client *storage.Client, folderSeparator string) (afero.Afero, error)
- func NewGcsFSWithSeparator(ctx context.Context, folderSeparator string, opts ...option.ClientOption) (afero.Afero, error)
- type ByName
- type FileInfo
- type Fs
- func (fs *Fs) Chmod(_ string, _ os.FileMode) error
- func (fs *Fs) Chown(_ string, _, _ int) error
- func (fs *Fs) Chtimes(_ string, _, _ time.Time) error
- func (fs *Fs) Create(name string) (*GcsFile, error)
- func (fs *Fs) Mkdir(name string, _ os.FileMode) error
- func (fs *Fs) MkdirAll(path string, perm os.FileMode) error
- func (fs *Fs) Name() string
- func (fs *Fs) Open(name string) (*GcsFile, error)
- func (fs *Fs) OpenFile(name string, flag int, fileMode os.FileMode) (*GcsFile, error)
- func (fs *Fs) Remove(name string) error
- func (fs *Fs) RemoveAll(path string) error
- func (fs *Fs) Rename(oldName, newName string) error
- func (fs *Fs) Stat(name string) (os.FileInfo, error)
- type GcsFile
- func (o *GcsFile) Close() error
- func (o *GcsFile) Name() string
- func (o *GcsFile) Read(p []byte) (n int, err error)
- func (o *GcsFile) ReadAt(p []byte, off int64) (n int, err error)
- func (o *GcsFile) Readdir(count int) ([]os.FileInfo, error)
- func (o *GcsFile) Readdirnames(n int) ([]string, error)
- func (o *GcsFile) Seek(newOffset int64, whence int) (int64, error)
- func (o *GcsFile) Stat() (os.FileInfo, error)
- func (o *GcsFile) Sync() error
- func (o *GcsFile) Truncate(wantedSize int64) error
- func (o *GcsFile) Write(p []byte) (n int, err error)
- func (o *GcsFile) WriteAt(b []byte, off int64) (n int, err error)
- func (o *GcsFile) WriteString(s string) (ret int, err error)
- type GcsFs
- func (fs *GcsFs) Chmod(name string, mode os.FileMode) error
- func (fs *GcsFs) Chown(name string, uid, gid int) error
- func (fs *GcsFs) Chtimes(name string, atime time.Time, mtime time.Time) error
- func (fs *GcsFs) Create(name string) (afero.File, error)
- func (fs *GcsFs) Mkdir(name string, perm os.FileMode) error
- func (fs *GcsFs) MkdirAll(path string, perm os.FileMode) error
- func (fs *GcsFs) Name() string
- func (fs *GcsFs) Open(name string) (afero.File, error)
- func (fs *GcsFs) OpenFile(name string, flag int, perm os.FileMode) (afero.File, error)
- func (fs *GcsFs) Remove(name string) error
- func (fs *GcsFs) RemoveAll(path string) error
- func (fs *GcsFs) Rename(oldname, newname string) error
- func (fs *GcsFs) Stat(name string) (os.FileInfo, error)
Constants ¶
This section is empty.
Variables ¶
var ( ErrNoBucketInName = errors.New("名称中未找到存储桶名称") // 没有找到 bucket 名称的错误 ErrFileClosed = errors.New("文件已关闭") // 文件已关闭的错误 ErrOutOfRange = errors.New("超出范围") // 超出范围的错误 ErrObjectDoesNotExist = errors.New("存储:对象不存在") // 对象不存在的错误 ErrEmptyObjectName = errors.New("存储:对象名称为空") // 对象名称为空的错误 ErrFileNotFound = syscall.ENOENT // 文件未找到的错误 )
定义错误变量
Functions ¶
func NewGcsFS ¶
NewGcsFS 创建一个 GCS 文件系统,自动实例化和装饰存储客户端。 可以提供额外的选项传递给客户端创建,如 cloud.google.com/go/storage 文档所述 参数:
- ctx: 上下文,用于控制请求的生命周期
- opts: 可选的客户端选项,用于配置存储客户端
返回:
- afero.Afero: 创建的 GCS 文件系统
- error: 可能出现的错误
func NewGcsFSFromClient ¶
NewGcsFSFromClient 从给定的存储客户端创建 GCS 文件系统 参数:
- ctx: 上下文,用于控制请求的生命周期
- client: 已创建的存储客户端
返回:
- afero.Afero: 创建的 GCS 文件系统
- error: 可能出现的错误
func NewGcsFSFromClientWithSeparator ¶
func NewGcsFSFromClientWithSeparator(ctx context.Context, client *storage.Client, folderSeparator string) (afero.Afero, error)
NewGcsFSFromClientWithSeparator 与 NewGcsFSFromClient 类似,但文件系统将使用提供的文件夹分隔符 参数:
- ctx: 上下文,用于控制请求的生命周期
- client: 已创建的存储客户端
- folderSeparator: 文件夹分隔符
返回:
- afero.Afero: 创建的 GCS 文件系统
- error: 可能出现的错误
func NewGcsFSWithSeparator ¶
func NewGcsFSWithSeparator(ctx context.Context, folderSeparator string, opts ...option.ClientOption) (afero.Afero, error)
NewGcsFSWithSeparator 与 NewGcsFS 类似,但文件系统将使用提供的文件夹分隔符 参数:
- ctx: 上下文,用于控制请求的生命周期
- folderSeparator: 文件夹分隔符
- opts: 可选的客户端选项,用于配置存储客户端
返回:
- afero.Afero: 创建的 GCS 文件系统
- error: 可能出现的错误
Types ¶
type ByName ¶
type ByName []*FileInfo
ByName 实现对 FileInfo 切片的排序
type FileInfo ¶
type FileInfo struct {
// contains filtered or unexported fields
}
FileInfo 结构体用于保存文件信息
type Fs ¶
type Fs struct {
// contains filtered or unexported fields
}
Fs 是一个使用 Google Cloud Storage 函数的文件系统实现
func NewGcsFsWithSeparator ¶
NewGcsFsWithSeparator 创建一个带有自定义文件夹分隔符的 GCS 文件系统 参数:
- ctx: 上下文
- client: GCS 客户端
- folderSep: 文件夹分隔符
返回:
- Fs: GCS 文件系统实例
func (*Fs) Chtimes ¶
Chtimes 修改文件或目录的访问时间和修改时间 参数:
- name: 文件或目录名称
- atime: 访问时间
- mtime: 修改时间
返回:
- 错误(因为此方法未实现)
func (*Fs) OpenFile ¶
OpenFile 以指定模式打开文件 参数:
- name: 文件名称
- flag: 打开模式
- fileMode: 文件模式
返回:
- GcsFile: 打开的文件
- 可能的错误
type GcsFile ¶
type GcsFile struct { ReadDirIt stiface.ObjectIterator // 目录读取迭代器 // contains filtered or unexported fields }
GcsFile 是 Afero 版本适配 GCS 的文件类型
func NewGcsFile ¶
func NewGcsFile( ctx context.Context, fs *Fs, obj stiface.ObjectHandle, openFlags int, fileMode os.FileMode, name string, ) *GcsFile
NewGcsFile 创建一个新的 GcsFile 实例 参数:
- ctx: 上下文对象
- fs: 文件系统实例
- obj: GCS 对象句柄
- openFlags: 打开文件的标志
- fileMode: 文件模式(暂时未使用)
- name: 文件名称
返回:
- *GcsFile: 创建的 GcsFile 实例
func NewGcsFileFromOldFH ¶
NewGcsFileFromOldFH 从旧的文件句柄资源创建一个新的 GcsFile 实例 参数:
- openFlags: 打开文件的标志
- fileMode: 文件模式
- oldFile: 旧的 GCS 文件资源
返回:
- *GcsFile: 创建的 GcsFile 实例
func (*GcsFile) ReadAt ¶
ReadAt 从文件的指定偏移量处读取数据到给定的字节切片中 参数:
- p: 字节切片
- off: 偏移量
返回:
- int: 读取的字节数
- error: 可能出现的错误
func (*GcsFile) Readdir ¶
Readdir 读取目录中的目录项 参数:
- count: 要读取的目录项数
返回:
- []os.FileInfo: 读取的文件信息切片
- error: 可能出现的错误
func (*GcsFile) Readdirnames ¶
Readdirnames 读取目录中的目录项名称 参数:
- n: 要读取的目录项数
返回:
- []string: 读取的目录项名称切片
- error: 可能出现的错误
func (*GcsFile) Seek ¶
Seek 设置文件偏移量 参数:
- newOffset: 新的偏移量
- whence: 偏移量的基准位置
返回:
- int64: 新的文件偏移量
- error: 可能出现的错误
type GcsFs ¶
type GcsFs struct {
// contains filtered or unexported fields
}
GcsFs 结构体包装了一个 GCS 文件系统的源
func (*GcsFs) Chtimes ¶
Chtimes 修改文件的访问和修改时间 参数:
- name: 文件名
- atime: 新的访问时间
- mtime: 新的修改时间
返回:
- error: 可能出现的错误
func (*GcsFs) OpenFile ¶
OpenFile 以指定的模式和权限打开一个文件 参数:
- name: 文件名
- flag: 模式标志
- perm: 权限
返回:
- afero.File: 打开的文件
- error: 可能出现的错误