| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443 |
- package s3
- import (
- "github.com/ks3sdklib/aws-sdk-go/aws"
- "github.com/ks3sdklib/aws-sdk-go/internal/signer/open_api"
- )
- type QueryKs3DataInput struct {
- // 查询用量开始时间,格式为:yyyyMMdd,如:20250901 表示查询从2025年9月1日0点0分开始的用量
- StartTime *string `location:"querystring" locationName:"StartTime" type:"string" required:"true"`
- // 查询用量结束时间,格式为:yyyyMMdd,如:20250902 表示查询到2025年9月2日23点59分结束的用量
- EndTime *string `location:"querystring" locationName:"EndTime" type:"string" required:"true"`
- // 支持按天粒度查询,固定值:Day
- DateType *string `location:"querystring" locationName:"DateType" type:"string"`
- // 存储空间名称,最多支持同时查询5个存储桶的用量明细
- BucketNames []string `location:"querystrings" locationName:"Bucketname" type:"list" required:"true"`
- // 可以查询单个或多个计费项,如果不填,则查询除带宽外的所有计费项
- // DataSize:存储量
- // NetworkFlowUp:外网上行流量
- // NetworkFlow:外网下行流量
- // CDNFlow:CDN回源流量
- // ReplicationFlow:跨区域复制流量
- // RequestsGet:GET类请求次数
- // RequestsPut:PUT类请求次数
- // RestoreSize:数据取回量
- // TagNum:对象标签梳理
- // BandwidthUp:上行带宽(不区分外网和CDN)
- // BandwidthDown:下行带宽(不区分外网和CDN)
- // NetBandwidthUp:外网上行带宽
- // NetBandwidthDown:外网下行带宽
- // CDNBandwidthDown:CDN回源带宽
- // IntranetBandwidthUp:内网上行带宽
- // IntranetBandwidthDown:内网下行带宽
- // IntranetFlowUp:内网上行流量
- // IntranetFlowDown:内网下行流量
- // ObjectNum:桶内的对象数量
- Ks3Products []string `location:"querystrings" locationName:"Ks3Product" type:"list"`
- // 可以查询单个或多个统计项的流量情况,可选值:Object、Referer、IP、UA,返回TOP200数据
- Transfers []string `location:"querystrings" locationName:"Transfer" type:"list"`
- // 可以查询单个或多个统计项的请求次数情况,可选值:Object、Referer、IP、UA,返回TOP200数据
- Requests []string `location:"querystrings" locationName:"Request" type:"list"`
- }
- type QueryKs3DataOutput struct {
- // 查询结果
- Ks3DataResult *Ks3DataResult `locationName:"Ks3DataResult" type:"structure"`
- // 响应头
- Metadata map[string]*string `location:"headers" type:"map"`
- // HTTP 状态码
- StatusCode *int64 `location:"statusCode" type:"integer"`
- metadataQueryKs3DataOutput `json:"-" xml:"-"`
- }
- type metadataQueryKs3DataOutput struct {
- SDKShapeTraits bool `type:"structure" payload:"Ks3DataResult"`
- }
- type Ks3DataResult struct {
- // 响应码
- Code *string `locationName:"Code" type:"string"`
- // 响应信息
- Message *string `locationName:"Message" type:"string"`
- // 包含一个或多个Bucket的容器
- Data *Ks3Data `locationName:"Data" type:"structure"`
- // 请求ID
- RequestId *string `locationName:"RequestId" type:"string"`
- }
- type Ks3Data struct {
- // 包含一个或多个Bucket的列表
- Buckets []*Ks3DataBucket `locationName:"Buckets" type:"list"`
- }
- type Ks3DataBucket struct {
- // Bucket的名称
- Name *string `locationName:"Name" type:"string"`
- // 数据开始时间
- StartTime *string `locationName:"StartTime" type:"string"`
- // 数据结束时间
- EndTime *string `locationName:"EndTime" type:"string"`
- // Bucket的标准存储量,单位是Bytes
- StandardDataSize *string `locationName:"StandardDataSize" type:"string"`
- // Bucket的低频存储量,单位是Bytes
- StandardIADataSize *string `locationName:"StandardIADataSize" type:"string"`
- // Bucket的归档存储量,单位是Bytes
- ArchiveDataSize *string `locationName:"ArchiveDataSize" type:"string"`
- // 标准存储的PUT请求次数
- StandardPutRequest *string `locationName:"StandardPutRequest" type:"string"`
- // 低频存储的PUT请求次数
- StandardIAPutRequest *string `locationName:"StandardIAPutRequest" type:"string"`
- // 归档存储的PUT请求次数
- ArchivePutRequest *string `locationName:"ArchivePutRequest" type:"string"`
- // 标准存储的GET请求次数
- StandardGetRequest *string `locationName:"StandardGetRequest" type:"string"`
- // 低频存储的GET请求次数
- StandardIAGetRequest *string `locationName:"StandardIAGetRequest" type:"string"`
- // 归档存储的GET请求次数
- ArchiveGetRequest *string `locationName:"ArchiveGetRequest" type:"string"`
- // 外网下行流量,单位是Bytes
- NetworkFlow *string `locationName:"NetworkFlow" type:"string"`
- // CDN回源流量,单位是Bytes
- CDNFlow *string `locationName:"CDNFlow" type:"string"`
- // 跨区域复制流量,单位是Bytes
- ReplicationFlow *string `locationName:"ReplicationFlow" type:"string"`
- // 外网上行带宽,不区分外网上行和CDN上行,单位是bps
- BandwidthUp []map[string]*string `locationName:"BandwidthUp" type:"list"`
- // 外网下行带宽,不区分外网下行和CDN下行,单位是bps
- BandwidthDown []map[string]*string `locationName:"BandwidthDown" type:"list"`
- // 外网下行带宽,单位是bps
- OuterBandwidthDown []map[string]*string `locationName:"OuterBandwidthDown" type:"list"`
- // CDN回源带宽,单位是bps
- CDNBandwidthDown []map[string]*string `locationName:"CDNBandwidthDown" type:"list"`
- // 低频存储数据取回量,单位是Bytes
- StandardIAData *string `locationName:"StandardIAData" type:"string"`
- // 外网上行带宽
- NetBandwidthUp []map[string]*string `locationName:"NetBandwidthUp" type:"list"`
- // 外网上行流量
- NetworkFlowUp *string `locationName:"NetworkFlowUp" type:"string"`
- // 内网上行带宽
- IntranetBandwidthUp []map[string]*string `locationName:"IntranetBandwidthUp" type:"list"`
- // 内网上行流量
- IntranetFlowUp *string `locationName:"IntranetFlowUp" type:"string"`
- // 内网下行带宽
- IntranetBandwidthDown []map[string]*string `locationName:"IntranetBandwidthDown" type:"list"`
- // 内网下行流量
- IntranetFlowDown *string `locationName:"IntranetFlowDown" type:"string"`
- // 桶内的对象数量
- ObjectNum *string `locationName:"ObjectNum" type:"string"`
- // 归档存储解冻数据量,单位是Bytes
- ArchiveData *string `locationName:"ArchiveData" type:"string"`
- // 对象标签的数量
- TagNum *string `locationName:"TagNum" type:"string"`
- // Object、Referer、IP、UA产生的流量
- Transfer *Ks3DataTransfer `locationName:"Transfer" type:"structure"`
- // Object、Referer、IP、UA产生的请求次数
- Request *Ks3DataRequest `locationName:"Request" type:"structure"`
- }
- type Ks3DataTransfer struct {
- // 指定Object产生的流量
- Objects []*Ks3DataTransferObject `locationName:"Object" type:"list"`
- // 指定Referer产生的流量
- Referers []*Ks3DataTransferReferer `locationName:"Referer" type:"list"`
- // 指定IP产生的流量
- IPs []*Ks3DataTransferIP `locationName:"Ip" type:"list"`
- // 指定UA产生的流量
- UAs []*Ks3DataTransferUA `locationName:"Ua" type:"list"`
- }
- type Ks3DataTransferObject struct {
- // Object名称
- Object *string `locationName:"object" type:"string"`
- // Object产生的流量
- Traffic *string `locationName:"traffic" type:"string"`
- }
- type Ks3DataTransferReferer struct {
- // Referer名称
- Referer *string `locationName:"referer" type:"string"`
- // Referer产生的流量
- Traffic *string `locationName:"traffic" type:"string"`
- }
- type Ks3DataTransferIP struct {
- // IP地址
- IP *string `locationName:"ip" type:"string"`
- // IP产生的流量
- Traffic *string `locationName:"traffic" type:"string"`
- }
- type Ks3DataTransferUA struct {
- // UA名称
- UA *string `locationName:"ua" type:"string"`
- // UA产生的流量
- Traffic *string `locationName:"traffic" type:"string"`
- }
- type Ks3DataRequest struct {
- // 指定Object产生的流量
- Objects []*Ks3DataRequestObject `locationName:"Object" type:"list"`
- // 指定Referer产生的流量
- Referers []*Ks3DataRequestReferer `locationName:"Referer" type:"list"`
- // 指定IP产生的流量
- IPs []*Ks3DataRequestIP `locationName:"Ip" type:"list"`
- // 指定UA产生的流量
- UAs []*Ks3DataRequestUA `locationName:"Ua" type:"list"`
- }
- type Ks3DataRequestObject struct {
- // Object名称
- Object *string `locationName:"object" type:"string"`
- // Object产生的请求次数
- Times *string `locationName:"times" type:"string"`
- }
- type Ks3DataRequestReferer struct {
- // Referer名称
- Referer *string `locationName:"referer" type:"string"`
- // Referer产生的请求次数
- Times *string `locationName:"times" type:"string"`
- }
- type Ks3DataRequestIP struct {
- // IP地址
- IP *string `locationName:"ip" type:"string"`
- // IP产生的请求次数
- Times *string `locationName:"times" type:"string"`
- }
- type Ks3DataRequestUA struct {
- // UA名称
- UA *string `locationName:"ua" type:"string"`
- // UA产生的请求次数
- Times *string `locationName:"times" type:"string"`
- }
- // QueryKs3DataRequest generates a request for the QueryKs3DataRequest operation.
- func (c *S3) QueryKs3DataRequest(input *QueryKs3DataInput) (req *aws.Request, output *QueryKs3DataOutput) {
- op := &aws.Operation{
- Name: "QueryKs3Data",
- HTTPMethod: "GET",
- HTTPPath: "/?Action=QueryKs3Data",
- }
- if input == nil {
- input = &QueryKs3DataInput{}
- }
- if input.StartTime != nil && aws.ToString(input.StartTime) != "" {
- input.StartTime = aws.String(aws.ToString(input.StartTime) + "0000")
- }
- if input.EndTime != nil && aws.ToString(input.EndTime) != "" {
- input.EndTime = aws.String(aws.ToString(input.EndTime) + "2359")
- }
- if input.DateType == nil || aws.ToString(input.DateType) == "" {
- input.DateType = aws.String("Day")
- }
- req = c.newRequest(op, input, output)
- req.RequestType = "ks3bill"
- req.ContentType = "application/json"
- req.HTTPRequest.URL.Host = c.Config.Ks3BillEndpoint
- req.Handlers.Sign.Clear()
- req.Handlers.Sign.PushBack(open_api.Sign)
- output = &QueryKs3DataOutput{
- Ks3DataResult: &Ks3DataResult{},
- }
- req.Data = output
- return
- }
- // QueryKs3Data 桶用量详情及业务分析查询
- func (c *S3) QueryKs3Data(input *QueryKs3DataInput) (*QueryKs3DataOutput, error) {
- req, out := c.QueryKs3DataRequest(input)
- err := req.Send()
- return out, err
- }
- func (c *S3) QueryKs3DataWithContext(ctx aws.Context, input *QueryKs3DataInput) (*QueryKs3DataOutput, error) {
- req, out := c.QueryKs3DataRequest(input)
- req.SetContext(ctx)
- err := req.Send()
- return out, err
- }
- type QueryBucketRankInput struct {
- // 查询用量开始时间,格式为:yyyyMMdd,如:20250901 表示查询从2025年9月1日0点0分开始的用量
- StartTime *string `location:"querystring" locationName:"StartTime" type:"string" required:"true"`
- // 查询用量结束时间,格式为:yyyyMMdd,如:20250902 表示查询到2025年9月2日23点59分结束的用量
- EndTime *string `location:"querystring" locationName:"EndTime" type:"string" required:"true"`
- // 支持按天粒度查询,固定值:Day
- DateType *string `location:"querystring" locationName:"DateType" type:"string"`
- // 可以查询单个或多个统计项,如果不填,则查询所有统计项
- // DataSize:存储量
- // Flow:外网下行流量
- // RequestsGet:GET类请求次数
- // RequestsPut:PUT类请求次数
- Ks3Products []string `location:"querystrings" locationName:"Ks3Product" type:"list"`
- // TOP排序的Bucket数量,取值范围为[1-500],默认值为200
- Number *int64 `location:"querystring" locationName:"Number" type:"integer"`
- }
- type QueryBucketRankOutput struct {
- // 查询结果
- BucketRankResult *BucketRankResult `locationName:"BucketRankResult" type:"structure"`
- // 响应头
- Metadata map[string]*string `location:"headers" type:"map"`
- // HTTP 状态码
- StatusCode *int64 `location:"statusCode" type:"integer"`
- metadataQueryBucketRankOutput `json:"-" xml:"-"`
- }
- type metadataQueryBucketRankOutput struct {
- SDKShapeTraits bool `type:"structure" payload:"BucketRankResult"`
- }
- type BucketRankResult struct {
- // 响应码
- Code *string `locationName:"Code" type:"string"`
- // 响应信息
- Message *string `locationName:"Message" type:"string"`
- // 桶用量排序数据
- Data *BucketRankData `locationName:"Data" type:"structure"`
- // 请求ID
- RequestId *string `locationName:"RequestId" type:"string"`
- }
- type BucketRankData struct {
- // Bucket的存储量,单位是Bytes
- DataSize []map[string]*string `locationName:"DataSize" type:"list"`
- // Bucket的外网下行流量,单位是Bytes
- Flow []map[string]*string `locationName:"Flow" type:"list"`
- // Bucket的GET类请求次数,单位是次
- RequestsGet []map[string]*string `locationName:"RequestsGet" type:"list"`
- // Bucket的PUT类请求次数,单位是次
- RequestsPut []map[string]*string `locationName:"RequestsPut" type:"list"`
- }
- // QueryBucketRankRequest generates a request for the QueryBucketRankRequest operation.
- func (c *S3) QueryBucketRankRequest(input *QueryBucketRankInput) (req *aws.Request, output *QueryBucketRankOutput) {
- op := &aws.Operation{
- Name: "QueryBucketRank",
- HTTPMethod: "GET",
- HTTPPath: "/?Action=QueryBucketRank",
- }
- if input == nil {
- input = &QueryBucketRankInput{}
- }
- if input.StartTime != nil && aws.ToString(input.StartTime) != "" {
- input.StartTime = aws.String(aws.ToString(input.StartTime) + "0000")
- }
- if input.EndTime != nil && aws.ToString(input.EndTime) != "" {
- input.EndTime = aws.String(aws.ToString(input.EndTime) + "2359")
- }
- if input.DateType == nil || aws.ToString(input.DateType) == "" {
- input.DateType = aws.String("Day")
- }
- if input.Number == nil {
- input.Number = aws.Long(200)
- }
- req = c.newRequest(op, input, output)
- req.RequestType = "ks3bill"
- req.ContentType = "application/json"
- req.HTTPRequest.URL.Host = c.Config.Ks3BillEndpoint
- req.Handlers.Sign.Clear()
- req.Handlers.Sign.PushBack(open_api.Sign)
- output = &QueryBucketRankOutput{
- BucketRankResult: &BucketRankResult{},
- }
- req.Data = output
- return
- }
- // QueryBucketRank 桶用量排序查询
- func (c *S3) QueryBucketRank(input *QueryBucketRankInput) (*QueryBucketRankOutput, error) {
- req, out := c.QueryBucketRankRequest(input)
- err := req.Send()
- return out, err
- }
- func (c *S3) QueryBucketRankWithContext(ctx aws.Context, input *QueryBucketRankInput) (*QueryBucketRankOutput, error) {
- req, out := c.QueryBucketRankRequest(input)
- req.SetContext(ctx)
- err := req.Send()
- return out, err
- }
|