Help us shape the future of Go! Take the 2026 Go Developer Survey

artifacts

package
v1.11.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	ID          string         `json:"id"`
	Name        string         `json:"name"`
	Type        ArtifactType   `json:"type"`
	Status      ArtifactStatus `json:"status"`
	MimeType    string         `json:"mime_type,omitempty"`
	Size        int64          `json:"size"`
	Checksum    string         `json:"checksum"`
	StoragePath string         `json:"storage_path"`
	URL         string         `json:"url,omitempty"`
	Metadata    map[string]any `json:"metadata,omitempty"`
	Tags        []string       `json:"tags,omitempty"`
	CreatedAt   time.Time      `json:"created_at"`
	UpdatedAt   time.Time      `json:"updated_at"`
	ExpiresAt   *time.Time     `json:"expires_at,omitempty"`
	CreatedBy   string         `json:"created_by"`
	SessionID   string         `json:"session_id,omitempty"`
	ParentID    string         `json:"parent_id,omitempty"`
	Version     int            `json:"version"`
}

人工活性代表系统中的受管文物.

type ArtifactQuery

type ArtifactQuery struct {
	SessionID string         `json:"session_id,omitempty"`
	Type      ArtifactType   `json:"type,omitempty"`
	Status    ArtifactStatus `json:"status,omitempty"`
	Tags      []string       `json:"tags,omitempty"`
	CreatedBy string         `json:"created_by,omitempty"`
	Limit     int            `json:"limit,omitempty"`
	Offset    int            `json:"offset,omitempty"`
}

ArtifactQuery定义了列出文物的查询参数.

type ArtifactStatus

type ArtifactStatus string

人工活性状态代表文物的生命周期状态。

const (
	StatusPending   ArtifactStatus = "pending"
	StatusUploading ArtifactStatus = "uploading"
	StatusReady     ArtifactStatus = "ready"
	StatusArchived  ArtifactStatus = "archived"
	StatusDeleted   ArtifactStatus = "deleted"
)

type ArtifactStore

type ArtifactStore interface {
	Save(ctx context.Context, artifact *Artifact, data io.Reader) error
	Load(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)
	GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)
	Delete(ctx context.Context, artifactID string) error
	List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)
	Archive(ctx context.Context, artifactID string) error
}

ArtifactStore定义了文物的存储界面.

type ArtifactType

type ArtifactType string

工艺品Type定义了文物的类型.

const (
	ArtifactTypeFile   ArtifactType = "file"
	ArtifactTypeData   ArtifactType = "data"
	ArtifactTypeImage  ArtifactType = "image"
	ArtifactTypeCode   ArtifactType = "code"
	ArtifactTypeOutput ArtifactType = "output"
	ArtifactTypeModel  ArtifactType = "model"
)

type CreateOption

type CreateOption func(*createOptions)

创建可选配置文物创建 。

func WithCreatedBy

func WithCreatedBy(createdBy string) CreateOption

func WithMetadata

func WithMetadata(metadata map[string]any) CreateOption

func WithMimeType

func WithMimeType(mimeType string) CreateOption

func WithSessionID

func WithSessionID(sessionID string) CreateOption

func WithTTL

func WithTTL(ttl time.Duration) CreateOption

func WithTags

func WithTags(tags ...string) CreateOption

type FileStore

type FileStore struct {
	// contains filtered or unexported fields
}

FileStore使用本地文件系统执行ArtifactStore.

func NewFileStore

func NewFileStore(basePath string) (*FileStore, error)

NewFileStore创建了一个新的基于文件的文物商店.

func (*FileStore) Archive

func (s *FileStore) Archive(ctx context.Context, artifactID string) error

func (*FileStore) Delete

func (s *FileStore) Delete(ctx context.Context, artifactID string) error

func (*FileStore) GetMetadata

func (s *FileStore) GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)

func (*FileStore) List

func (s *FileStore) List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)

func (*FileStore) Load

func (s *FileStore) Load(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)

Load 返回指定 artifact 的元数据与内容流。 调用方必须关闭返回的 io.ReadCloser,否则会导致文件句柄泄漏。

func (*FileStore) Save

func (s *FileStore) Save(ctx context.Context, artifact *Artifact, data io.Reader) error

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

经理处理文物生命周期管理.

func NewManager

func NewManager(config ManagerConfig, store ArtifactStore, logger *zap.Logger) *Manager

NewManager创建了新的文物管理器.

func (*Manager) Archive

func (m *Manager) Archive(ctx context.Context, artifactID string) error

档案馆收藏了一件文物

func (*Manager) Cleanup

func (m *Manager) Cleanup(ctx context.Context) (int, error)

清理清除过期文物.

func (*Manager) Create

func (m *Manager) Create(ctx context.Context, name string, artifactType ArtifactType, data io.Reader, opts ...CreateOption) (*Artifact, error)

从数据创建出新的文物 。

func (*Manager) CreateVersion

func (m *Manager) CreateVersion(ctx context.Context, parentID string, data io.Reader) (*Artifact, error)

CreateVersion 创建了新版本的已有文物.

func (*Manager) Delete

func (m *Manager) Delete(ctx context.Context, artifactID string) error

删除一个文物。

func (*Manager) Get

func (m *Manager) Get(ctx context.Context, artifactID string) (*Artifact, io.ReadCloser, error)

凭身份证取回文物

func (*Manager) GetMetadata

func (m *Manager) GetMetadata(ctx context.Context, artifactID string) (*Artifact, error)

GetMetadata检索没有数据的文物元数据.

func (*Manager) List

func (m *Manager) List(ctx context.Context, query ArtifactQuery) ([]*Artifact, error)

列表列出符合查询的文物.

type ManagerConfig

type ManagerConfig struct {
	BasePath   string        `json:"base_path"`
	MaxSize    int64         `json:"max_size"`
	DefaultTTL time.Duration `json:"default_ttl"`
}

Manager Config 配置了文物管理器 。

func DefaultManagerConfig

func DefaultManagerConfig() ManagerConfig

默认管理器 Config 返回合理的默认值 。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL