示例#1
0
文件: service.go 项目: tkawachi/GoAWS
// Returns a list of bucket names known by the endpoint.  Depending on the
// endpoint used, your list may be global or regional in nature.
func ListBuckets(id cryptools.NamedSigner, ep *awsconn.Endpoint) (out []string, err os.Error) {
	hreq, err := NewQueryRequest(id, ep, "GET", "", "", "", "", nil, nil)
	if err != nil {
		return
	}

	result := &listBucketsResult{}
	etype := &errorResponse{}
	err = ep.SendParsable(hreq, result, etype)

	if err != nil {
		return
	}

	out = make([]string, len(result.Buckets.Bucket))
	for i := range result.Buckets.Bucket {
		out[i] = result.Buckets.Bucket[i].Name
	}
	return
}