Documentation ¶
Index ¶
- func GetURLStrings(ctx context.Context, provider DownloadURLsProvider, objectName string, ...) ([]string, error)
- func GetURLs(ctx context.Context, provider DownloadURLsProvider, objectName string, ...) ([]*url.URL, error)
- type ConcurrentDownloaderOptions
- type DefaultSrcURLsProviderOptions
- type DestinationDownloadOptions
- type DestinationDownloader
- type DirectoryOptions
- type DomainsQueryURLsProviderOptions
- type DownloadManager
- func (downloadManager *DownloadManager) DownloadDirectory(ctx context.Context, targetDirPath string, options *DirectoryOptions) error
- func (downloadManager *DownloadManager) DownloadToFile(ctx context.Context, objectName, filePath string, options *ObjectOptions) (uint64, error)
- func (downloadManager *DownloadManager) DownloadToWriter(ctx context.Context, objectName string, writer io.Writer, ...) (uint64, error)
- type DownloadManagerOptions
- type DownloadURLsProvider
- func CombineDownloadURLsProviders(providers ...DownloadURLsProvider) DownloadURLsProvider
- func NewDefaultSrcURLsProvider(accessKey string, options *DefaultSrcURLsProviderOptions) DownloadURLsProvider
- func NewDomainsQueryURLsProvider(options *DomainsQueryURLsProviderOptions) (DownloadURLsProvider, error)
- func NewStaticDomainBasedURLsProvider(domains []string) DownloadURLsProvider
- func SignURLsProvider(provider DownloadURLsProvider, signer Signer, options *SignOptions) DownloadURLsProvider
- type DownloadedObjectInfo
- type DownloaderOptions
- type DownloadingProgress
- type GenerateOptions
- type ObjectOptions
- type SignOptions
- type Signer
- type URLsIter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetURLStrings ¶ added in v7.23.0
func GetURLStrings(ctx context.Context, provider DownloadURLsProvider, objectName string, options *GenerateOptions) ([]string, error)
GetURLStrings 从 DownloadURLsProvider 读取出所有 URL 并转换成字符串返回
func GetURLs ¶ added in v7.23.0
func GetURLs(ctx context.Context, provider DownloadURLsProvider, objectName string, options *GenerateOptions) ([]*url.URL, error)
GetURLs 从 DownloadURLsProvider 读取出所有 URL 返回
Types ¶
type ConcurrentDownloaderOptions ¶
type ConcurrentDownloaderOptions struct { DownloaderOptions Concurrency uint // 并发度 PartSize uint64 // 分片大小 ResumableRecorder resumablerecorder.ResumableRecorder // 可恢复记录仪 }
并发下载器选项
type DefaultSrcURLsProviderOptions ¶
type DefaultSrcURLsProviderOptions struct { region.BucketRegionsQueryOptions // Bucket 服务器地址 BucketHosts region.Endpoints }
默认源站域名下载 URL 生成器选项
type DestinationDownloadOptions ¶
type DestinationDownloadOptions struct { // 对象下载附加 HTTP Header Header http.Header // 对象下载进度 OnDownloadingProgress func(*DownloadingProgress) // 对象 Header 获取回调 OnResponseHeader func(http.Header) }
目标下载选项
type DestinationDownloader ¶
type DestinationDownloader interface {
Download(context.Context, URLsIter, destination.Destination, *DestinationDownloadOptions) (uint64, error)
}
目标下载器
func NewConcurrentDownloader ¶
func NewConcurrentDownloader(options *ConcurrentDownloaderOptions) DestinationDownloader
创建并发下载器
type DirectoryOptions ¶
type DirectoryOptions struct { // 是否使用 HTTP 协议,默认为不使用 UseInsecureProtocol bool // 空间名称 BucketName string // 对象前缀 ObjectPrefix string // 下载并发度 ObjectConcurrency int // 下载 URL 生成器 DownloadURLsProvider DownloadURLsProvider // 下载前回调函数 BeforeObjectDownload func(objectName string, objectOptions *ObjectOptions) // 下载进度 OnDownloadingProgress func(objectName string, progress *DownloadingProgress) // 对象下载成功后回调 OnObjectDownloaded func(objectName string, info *DownloadedObjectInfo) // 是否下载指定对象 ShouldDownloadObject func(objectName string) bool // 分隔符,默认为 / PathSeparator string }
目录下载参数
type DomainsQueryURLsProviderOptions ¶
type DomainsQueryURLsProviderOptions struct { http_client.Options // 压缩周期(默认:60s) CompactInterval time.Duration // 持久化路径(默认:$TMPDIR/qiniu-golang-sdk/domain_v2_01.cache.json) PersistentFilePath string // 持久化周期(默认:60s) PersistentDuration time.Duration // 缓存有效周期(默认:3600s) CacheTTL time.Duration // 缓存刷新时间(默认:1800s) CacheRefreshAfter time.Duration }
基于域名查询的下载 URL 生成器选项
type DownloadManager ¶
type DownloadManager struct {
// contains filtered or unexported fields
}
下载管理器
func NewDownloadManager ¶
func NewDownloadManager(options *DownloadManagerOptions) *DownloadManager
创建下载管理器
func (*DownloadManager) DownloadDirectory ¶
func (downloadManager *DownloadManager) DownloadDirectory(ctx context.Context, targetDirPath string, options *DirectoryOptions) error
下载目录
func (*DownloadManager) DownloadToFile ¶
func (downloadManager *DownloadManager) DownloadToFile(ctx context.Context, objectName, filePath string, options *ObjectOptions) (uint64, error)
下载对象到文件
func (*DownloadManager) DownloadToWriter ¶
func (downloadManager *DownloadManager) DownloadToWriter(ctx context.Context, objectName string, writer io.Writer, options *ObjectOptions) (uint64, error)
下载对象到 io.Writer
type DownloadManagerOptions ¶
type DownloadManagerOptions struct { // HTTP 客户端选项 httpclient.Options // 目标下载器 DestinationDownloader DestinationDownloader // 分片列举版本,如果不填写,默认为 V1 ListerVersion objects.ListerVersion // 下载 URL 生成器 DownloadURLsProvider DownloadURLsProvider }
下载管理器选项
type DownloadURLsProvider ¶
type DownloadURLsProvider interface {
GetURLsIter(context.Context, string, *GenerateOptions) (URLsIter, error)
}
获取对象下载 URL 接口
func CombineDownloadURLsProviders ¶
func CombineDownloadURLsProviders(providers ...DownloadURLsProvider) DownloadURLsProvider
合并多个下载 URL 生成器
func NewDefaultSrcURLsProvider ¶
func NewDefaultSrcURLsProvider(accessKey string, options *DefaultSrcURLsProviderOptions) DownloadURLsProvider
创建默认源站域名下载 URL 生成器
func NewDomainsQueryURLsProvider ¶
func NewDomainsQueryURLsProvider(options *DomainsQueryURLsProviderOptions) (DownloadURLsProvider, error)
创建基于域名查询的下载 URL 生成器
func NewStaticDomainBasedURLsProvider ¶
func NewStaticDomainBasedURLsProvider(domains []string) DownloadURLsProvider
创建静态域名下载 URL 生成器
func SignURLsProvider ¶
func SignURLsProvider(provider DownloadURLsProvider, signer Signer, options *SignOptions) DownloadURLsProvider
为下载 URL 获取结果签名
type DownloaderOptions ¶
type DownloaderOptions struct { Client clientv2.Client // HTTP 客户端,如果不配置则使用默认的 HTTP 客户端 RetryMax int // 最大重试次数,如果不配置,默认为 9 Backoff backoff.Backoff // 重试时间间隔 v2,优先级高于 RetryInterval Resolver resolver.Resolver // 主备域名解析器 Chooser chooser.Chooser // IP 选择器 BeforeResolve func(*http.Request) // 域名解析前回调函数 AfterResolve func(*http.Request, []net.IP) // 域名解析后回调函数 ResolveError func(*http.Request, error) // 域名解析错误回调函数 BeforeBackoff func(*http.Request, *retrier.RetrierOptions, time.Duration) // 退避前回调函数 AfterBackoff func(*http.Request, *retrier.RetrierOptions, time.Duration) // 退避后回调函数 BeforeRequest func(*http.Request, *retrier.RetrierOptions) // 请求前回调函数 AfterResponse func(*http.Response, *retrier.RetrierOptions, error) // 请求后回调函数 }
下载器选项
type DownloadingProgress ¶
type DownloadingProgress struct { Downloaded uint64 // 已经下载的数据量,单位为字节 TotalSize uint64 // 总数据量,单位为字节 }
下载进度
type GenerateOptions ¶
type GenerateOptions struct { // 空间名称,可选 BucketName string // 文件处理命令,可选 Command string // 是否使用 HTTP 协议,默认为不使用 UseInsecureProtocol bool }
对象下载 URL 生成选项
type ObjectOptions ¶
type ObjectOptions struct { DestinationDownloadOptions GenerateOptions // 下载 URL 生成器 DownloadURLsProvider DownloadURLsProvider }
对象下载参数
type Signer ¶
对下载 URL 签名
func NewCredentialsSigner ¶
func NewCredentialsSigner(credentials credentials.CredentialsProvider) Signer
创建基于七牛鉴权的下载 URL 签名
Source Files ¶
Click to show internal directories.
Click to hide internal directories.