【发布时间】:2021-09-20 16:45:51
【问题描述】:
我正在尝试在给定资源时找出一种方法来确定它的 SKU,以便我可以查找它的定价信息。
package main
import (
"context"
billingpb "google.golang.org/genproto/googleapis/cloud/billing/v1"
billing "cloud.google.com/go/billing/apiv1"
)
func main() {
ctx := context.Background()
client, err := billing.NewCloudCatalogClient(ctx)
if err != nil {
return nil, err
}
req := billingpb.ListSkusRequest{
Parent: "services/<SKU>",
}
result := client.ListSkus(ctx, &req)
// ... handle result
}
例如,如果我们检查compute.Disk,则没有任何关于它的 SKU 的信息,只有它的类型(pd-ssd、pd-standard)。
computepb "google.golang.org/genproto/googleapis/cloud/compute/v1"
computepb.Disk{
CreationTimestamp: nil,
Description: nil,
DiskEncryptionKey: nil,
GuestOsFeatures: nil,
Id: nil,
Kind: nil,
LabelFingerprint: nil,
Labels: nil,
LastAttachTimestamp: nil,
LastDetachTimestamp: nil,
LicenseCodes: nil,
Licenses: nil,
LocationHint: nil,
Name: nil,
Options: nil,
PhysicalBlockSizeBytes: nil,
ProvisionedIops: nil,
Region: nil,
ReplicaZones: nil,
ResourcePolicies: nil,
SatisfiesPzs: nil,
SelfLink: nil,
SizeGb: nil,
SourceDisk: nil,
SourceDiskId: nil,
SourceImage: nil,
SourceImageEncryptionKey: nil,
SourceImageId: nil,
SourceSnapshot: nil,
SourceSnapshotEncryptionKey: nil,
SourceSnapshotId: nil,
SourceStorageObject: nil,
Status: nil,
Type: nil,
Users: nil,
Zone: nil,
}
【问题讨论】:
-
另一种查看 SKU 的可能方式是通过控制台。这个documentation有从控制台获取资源SKU信息的详细信息。(source)
标签: go google-cloud-platform google-cloud-billing