本文整理汇总了Golang中github.com/smugmug/godynamo/conf_iam.GoIAM函数的典型用法代码示例。如果您正苦于以下问题:Golang GoIAM函数的具体用法?Golang GoIAM怎么用?Golang GoIAM使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GoIAM函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
// List TABLES
var l list.ListTables
l.ExclusiveStartTableName = ""
l.Limit = 100
lbody, lcode, lerr := l.EndpointReq()
fmt.Printf("%v\n%v\n,%v\n", string(lbody), lcode, lerr)
}
开发者ID:ChrisLundquist,项目名称:godynamo,代码行数:28,代码来源:list_tables-livetest.go
示例2: main
func main() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// deal with iam, or not
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tn := "test-godynamo-livetest"
q := query.NewQuery()
q.TableName = tn
q.Select = ep.SELECT_ALL
k_v1 := fmt.Sprintf("AHashKey%d", 100)
var kc query.KeyCondition
kc.AttributeValueList = make([]ep.AttributeValue, 1)
kc.AttributeValueList[0] = ep.AttributeValue{S: k_v1}
kc.ComparisonOperator = query.OP_EQ
q.Limit = 10000
q.KeyConditions["TheHashKey"] = kc
json, _ := json.Marshal(q)
fmt.Printf("JSON:%s\n", string(json))
body, code, err := q.EndpointReq()
fmt.Printf("%v\n%v\n%v\n", body, code, err)
}
开发者ID:nabeken,项目名称:godynamo,代码行数:33,代码来源:query-livetest.go
示例3: installAll
func installAll() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// deal with iam, or not
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
var get1 get_item.Request
var put1 put_item.Request
var up1 update_item.Request
var upt1 update_table.Request
var del1 delete_item.Request
var delt1 delete_table.Request
var batchw1 batch_write_item.Request
var batchg1 batch_get_item.Request
var create1 create.Request
var query1 query.Request
var scan1 scan.Request
var desc1 describe_table.Request
var list1 list_tables.Request
fmt.Printf("%v%v%v%v%v%v%v%v%v%v%v%v%v", get1, put1, up1, upt1, del1, batchw1, batchg1, create1, delt1, query1, scan1, desc1, list1)
}
开发者ID:nabeken,项目名称:godynamo,代码行数:28,代码来源:godynamo.go
示例4: main
func main() {
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
for i := 1; i <= 300; i++ {
var get1 get.Request
get1.TableName = "test-godynamo-livetest"
get1.Key = make(ep.Item)
k := fmt.Sprintf("AHashKey%d", i)
v := fmt.Sprintf("%d", i)
get1.Key["TheHashKey"] = ep.AttributeValue{S: k}
get1.Key["TheRangeKey"] = ep.AttributeValue{N: v}
body, code, err := get1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("get failed %d %v %s\n", code, err, body)
}
fmt.Printf("%s\n", string(body))
}
}
开发者ID:nabeken,项目名称:godynamo,代码行数:30,代码来源:get_item-livetest.go
示例5: main
func main() {
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
var put1 put.Request
put1.TableName = "test-godynamo-livetest"
k := fmt.Sprintf("hk1")
v := fmt.Sprintf("%v", time.Now().Unix())
put1.Item = make(ep.Item)
put1.Item["TheHashKey"] = ep.AttributeValue{S: k}
put1.Item["TheRangeKey"] = ep.AttributeValue{N: v}
n := fmt.Sprintf("%v", time.Now().Unix())
put1.Item["Mtime"] = ep.AttributeValue{N: n}
put1.Item["SomeJunk"] = ep.AttributeValue{S: "some junk"}
put1.Item["SomeJunks"] = ep.AttributeValue{SS: []string{"some junk1", "some junk2"}}
body, code, err := put1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("put failed %d %v %s\n", code, err, body)
}
fmt.Printf("%s\n", string(body))
}
开发者ID:nabeken,项目名称:godynamo,代码行数:32,代码来源:put_item-livetest.go
示例6: main
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
sigchan := make(chan os.Signal, 1)
signal.Notify(sigchan)
go sigHandle(sigchan)
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized, " +
"invoke with conf_file.Read()")
} else {
log.Printf("global conf.Vals initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{conf.Vals.Network.DynamoDB.URL})
}
// we must give up the lock on the conf before calling GoIAM below, or it
// will not be able to mutate the auth params
using_iam := (conf.Vals.UseIAM == true)
conf.Vals.ConfLock.RUnlock()
// the naive "fire and forget" IAM roles initializer and watcher.
if using_iam {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if !iam_ready {
panic("iam is not ready? auth problem")
}
} else {
log.Printf("not using iam, assume credentials hardcoded in conf file")
}
log.Printf("starting bbpd...")
pid := syscall.Getpid()
e := fmt.Sprintf("induce panic with ctrl-c (kill -2 %v) or graceful termination with kill -[1,3,15] %v", pid, pid)
log.Printf(e)
ports := []int{bbpd_const.PORT, bbpd_const.PORT2}
start_bbpd_err := bbpd_route.StartBBPD(ports)
if start_bbpd_err == nil {
// all ports are in use. exit with 0 so our rc system does not
// respawn the program
log.Printf("all bbpd ports appear to be in use: exit with code 0")
os.Exit(0)
} else {
// abnormal exit - allow the rc system to try to respawn by returning
// exit code 1
log.Printf("bbpd invocation error")
log.Fatal(start_bbpd_err.Error())
}
}
开发者ID:takeshiyako2,项目名称:bbpd,代码行数:58,代码来源:bbpd.go
示例7: main
func main() {
// this is the same as put-item-livetest except here we demonstrate using a parameterized conf
home := os.Getenv("HOME")
home_conf_file := home + string(os.PathSeparator) + "." + conf.CONF_NAME
home_conf, home_conf_err := conf_file.ReadConfFile(home_conf_file)
if home_conf_err != nil {
panic("cannot read conf from " + home_conf_file)
}
home_conf.ConfLock.RLock()
if home_conf.Initialized == false {
panic("conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if home_conf.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if home_conf.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
home_conf.ConfLock.RUnlock()
put1 := put.NewPutItem()
put1.TableName = "test-godynamo-livetest"
k := fmt.Sprintf("hk1")
v := fmt.Sprintf("%v", time.Now().Unix())
// In simple cases you don't need to call NewAttributeValue
put1.Item["TheHashKey"] = &attributevalue.AttributeValue{S: k}
put1.Item["TheRangeKey"] = &attributevalue.AttributeValue{N: v}
n := fmt.Sprintf("%v", time.Now().Unix())
put1.Item["Mtime"] = &attributevalue.AttributeValue{N: n}
put1.Item["SomeJunk"] = &attributevalue.AttributeValue{S: "some junk"}
// for complex attributevalue instances, call the constructor first
av := attributevalue.NewAttributeValue()
av.InsertSS("some junk1")
av.InsertSS("some junk2")
put1.Item["SomeJunks"] = av
av2 := attributevalue.NewAttributeValue()
av2.InsertL(&attributevalue.AttributeValue{S: "some junk1"})
av2.InsertL(&attributevalue.AttributeValue{S: "some junk2"})
put1.Item["JunkL"] = av2
av3 := attributevalue.NewAttributeValue()
av3.InsertM("somejunkkey", &attributevalue.AttributeValue{S: "some junk1"})
body, code, err := put1.EndpointReqWithConf(home_conf)
if err != nil || code != http.StatusOK {
fmt.Printf("put failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n,%v\n", string(body), code, err)
}
开发者ID:roblillack,项目名称:godynamo,代码行数:56,代码来源:put_item-param-conf-livetest.go
示例8: main
func main() {
// this is the same as put-item-livetest except here we demonstrate using a parameterized conf
home := os.Getenv("HOME")
home_conf_file := home + string(os.PathSeparator) + "." + conf.CONF_NAME
home_conf, home_conf_err := conf_file.ReadConfFile(home_conf_file)
if home_conf_err != nil {
panic("cannot read conf from " + home_conf_file)
}
home_conf.ConfLock.RLock()
if home_conf.Initialized == false {
panic("conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if home_conf.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if home_conf.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
home_conf.ConfLock.RUnlock()
put1 := put.NewPutItem()
put1.TableName = "test-godynamo-livetest"
k := fmt.Sprintf("hk1000")
v := fmt.Sprintf("%v", time.Now().Unix())
put1.Item["TheHashKey"] = &attributevalue.AttributeValue{S: k}
put1.Item["TheRangeKey"] = &attributevalue.AttributeValue{N: v}
i := fmt.Sprintf("%v", 1)
t := fmt.Sprintf("%v", time.Now().Unix())
put1.Item["UserID"] = &attributevalue.AttributeValue{N: i}
put1.Item["Timestamp"] = &attributevalue.AttributeValue{N: t}
// the Token field is a simple string
put1.Item["Token"] = &attributevalue.AttributeValue{S: "a token"}
// the Location must be created as a "map"
location := attributevalue.NewAttributeValue()
location.InsertM("Latitude", &attributevalue.AttributeValue{N: "120.01"})
location.InsertM("Longitude", &attributevalue.AttributeValue{N: "50.99"})
put1.Item["Location"] = location
body, code, err := put1.EndpointReqWithConf(home_conf)
if err != nil || code != http.StatusOK {
fmt.Printf("put failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n,%v\n", string(body), code, err)
}
开发者ID:roblillack,项目名称:godynamo,代码行数:56,代码来源:put_item-more-livetest.go
示例9: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
get1 := get.NewGetItem()
get1.TableName = "test-godynamo-livetest"
// make sure this item has actually been inserted previously
get1.Key["TheHashKey"] = &attributevalue.AttributeValue{S: "AHashKey264"}
get1.Key["TheRangeKey"] = &attributevalue.AttributeValue{N: "264"}
body, code, err := get1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("get failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n,%v\n", string(body), code, err)
resp := get.NewResponse()
um_err := json.Unmarshal([]byte(body), resp)
if um_err != nil {
log.Fatal(um_err)
}
j, jerr := json.Marshal(resp)
if jerr != nil {
log.Fatal(jerr)
}
fmt.Printf("RESP:%s\n", string(j))
// Try converting the Response to a ResponseItemJSON
c, cerr := resp.ToResponseItemJSON()
if cerr != nil {
log.Fatal(cerr)
}
jc, jcerr := json.Marshal(c)
if jcerr != nil {
log.Fatal(jcerr)
}
fmt.Printf("JSON:%s\n", string(jc))
}
开发者ID:roblillack,项目名称:godynamo,代码行数:54,代码来源:get_item-livetest.go
示例10: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
put1 := put.NewPutItem()
put1.TableName = "test-godynamo-livetest"
k := fmt.Sprintf("hk1")
v := fmt.Sprintf("%v", time.Now().Unix())
// In simple cases you don't need to call NewAttributeValue
put1.Item["TheHashKey"] = &attributevalue.AttributeValue{S: k}
put1.Item["TheRangeKey"] = &attributevalue.AttributeValue{N: v}
n := fmt.Sprintf("%v", time.Now().Unix())
put1.Item["Mtime"] = &attributevalue.AttributeValue{N: n}
put1.Item["SomeJunk"] = &attributevalue.AttributeValue{S: "some junk"}
// for complex attributevalue instances, call the constructor first
av := attributevalue.NewAttributeValue()
av.InsertSS("some junk1")
av.InsertSS("some junk2")
put1.Item["SomeJunks"] = av
av2 := attributevalue.NewAttributeValue()
av2.InsertL(&attributevalue.AttributeValue{S: "some junk1"})
av2.InsertL(&attributevalue.AttributeValue{S: "some junk2"})
put1.Item["JunkL"] = av2
av3 := attributevalue.NewAttributeValue()
av3.InsertM("somejunkkey", &attributevalue.AttributeValue{S: "some junk1"})
body, code, err := put1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("put failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n,%v\n", string(body), code, err)
}
开发者ID:roblillack,项目名称:godynamo,代码行数:49,代码来源:put_item-livetest.go
示例11: main
func main() {
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
Test1()
Test2()
}
开发者ID:nabeken,项目名称:godynamo,代码行数:18,代码来源:batch_get_item-livetest.go
示例12: main
func main() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// deal with iam, or not
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tn := "test-godynamo-livetest"
tablename1 := tn
fmt.Printf("tablename1: %s\n", tablename1)
var code int
var err error
var body string
// DELETE THE TABLE
var del_table1 delete_table.Request
del_table1.TableName = tablename1
_, code, err = del_table1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("fail delete %d %v %s\n", code, err, body)
os.Exit(1)
}
// List TABLES
var l list.List
l.ExclusiveStartTableName = ""
l.Limit = 100
lbody, lcode, lerr := l.EndpointReq()
fmt.Printf("%v\n%v\n,%v\n", lbody, lcode, lerr)
}
开发者ID:nabeken,项目名称:godynamo,代码行数:41,代码来源:delete_table-livetest.go
示例13: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
tn := "test-godynamo-livetest"
q := query.NewQuery()
q.TableName = tn
q.Select = ep.SELECT_ALL
k_v1 := fmt.Sprintf("AHashKey%d", 100)
kc := condition.NewCondition()
kc.AttributeValueList = make([]*attributevalue.AttributeValue, 1)
kc.AttributeValueList[0] = &attributevalue.AttributeValue{S: k_v1}
kc.ComparisonOperator = query.OP_EQ
q.Limit = 10000
q.KeyConditions["TheHashKey"] = kc
json, _ := json.Marshal(q)
fmt.Printf("JSON:%s\n", string(json))
body, code, err := q.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("query failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n%v\n", string(body), code, err)
}
开发者ID:roblillack,项目名称:godynamo,代码行数:40,代码来源:query-livetest.go
示例14: Test1
// this tests "RetryBatchWrite", which does NOT do intelligent splitting and re-assembling
// of requests and responses
func Test1() {
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tn := "test-godynamo-livetest"
b := batch_write_item.NewBatchWriteItem()
b.RequestItems[tn] = make([]batch_write_item.RequestInstance, 0)
for i := 1; i <= 300; i++ {
var p batch_write_item.PutRequest
p.Item = make(ep.Item)
k := fmt.Sprintf("AHashKey%d", i)
v := fmt.Sprintf("%d", i)
p.Item["TheHashKey"] = ep.AttributeValue{S: k}
p.Item["TheRangeKey"] = ep.AttributeValue{N: v}
p.Item["SomeValue"] = ep.AttributeValue{N: v}
b.RequestItems[tn] =
append(b.RequestItems[tn],
batch_write_item.RequestInstance{PutRequest: &p})
}
bs, _ := batch_write_item.Split(*b)
for _, bsi := range bs {
body, code, err := bsi.RetryBatchWrite(0)
if err != nil || code != http.StatusOK {
fmt.Printf("error: %v\n%v\n%v\n", body, code, err)
} else {
fmt.Printf("worked!: %v\n%v\n%v\n", body, code, err)
}
}
}
开发者ID:nabeken,项目名称:godynamo,代码行数:42,代码来源:batch_write_item-livetest.go
示例15: main
func main() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// deal with iam, or not
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tn := "test-godynamo-livetest"
tablename1 := tn
fmt.Printf("tablename1: %s\n", tablename1)
var code int
var err error
var body string
// DELETE AN ITEM
var del_item1 delete_item.Request
del_item1.TableName = tablename1
del_item1.Key = make(ep.Item)
del_item1.Key["TheHashKey"] = ep.AttributeValue{S: "AHashKey1"}
del_item1.Key["TheRangeKey"] = ep.AttributeValue{N: "1"}
_, code, err = del_item1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("fail delete %d %v %s\n", code, err, body)
os.Exit(1)
}
}
开发者ID:nabeken,项目名称:godynamo,代码行数:38,代码来源:delete_item-livetest.go
示例16: installAll
func installAll() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
var get1 get_item.Request
var put1 put_item.Request
var up1 update_item.Request
var upt1 update_table.Request
var del1 delete_item.Request
var delt1 delete_table.Request
var batchw1 batch_write_item.Request
var batchg1 batch_get_item.Request
var create1 create.Request
var query1 query.Request
var scan1 scan.Request
var desc1 describe_table.Request
var list1 list_tables.Request
fmt.Printf("%v%v%v%v%v%v%v%v%v%v%v%v%v", get1, put1, up1, upt1, del1, batchw1, batchg1, create1, delt1, query1, scan1, desc1, list1)
}
开发者ID:roblillack,项目名称:godynamo,代码行数:37,代码来源:godynamo.go
示例17: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
Test1()
Test2()
}
开发者ID:roblillack,项目名称:godynamo,代码行数:24,代码来源:batch_get_item-livetest.go
示例18: main
func main() {
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tablename1 := "test-godynamo-livetest"
fmt.Printf("tablename: %s\n", tablename1)
var code int
var err error
var body string
// CREATE TABLE
var create1 create.Create
create1.TableName = tablename1
create1.ProvisionedThroughput.ReadCapacityUnits = 100
create1.ProvisionedThroughput.WriteCapacityUnits = 100
create1.AttributeDefinitions = append(create1.AttributeDefinitions,
ep.AttributeDefinition{AttributeName: "TheHashKey", AttributeType: ep.S})
create1.AttributeDefinitions = append(create1.AttributeDefinitions,
ep.AttributeDefinition{AttributeName: "TheRangeKey", AttributeType: ep.N})
create1.AttributeDefinitions = append(create1.AttributeDefinitions,
ep.AttributeDefinition{AttributeName: "AnAttrName", AttributeType: ep.S})
create1.KeySchema = append(create1.KeySchema,
ep.KeyDefinition{AttributeName: "TheHashKey", KeyType: ep.HASH})
create1.KeySchema = append(create1.KeySchema,
ep.KeyDefinition{AttributeName: "TheRangeKey", KeyType: ep.RANGE})
lsi := ep.NewLocalSecondaryIndex()
lsi.IndexName = "AnAttrIndex"
lsi.Projection.ProjectionType = ep.KEYS_ONLY
lsi.KeySchema = append(lsi.KeySchema,
ep.KeyDefinition{AttributeName: "TheHashKey", KeyType: ep.HASH})
lsi.KeySchema = append(lsi.KeySchema,
ep.KeyDefinition{AttributeName: "AnAttrName", KeyType: ep.RANGE})
create1.LocalSecondaryIndexes = append(create1.LocalSecondaryIndexes, *lsi)
create_json, create_json_err := json.Marshal(create1)
if create_json_err != nil {
fmt.Printf("%v\n", create_json_err)
os.Exit(1)
}
fmt.Printf("%s\n", string(create_json))
fmt.Printf("%v\n", create1)
cbody, ccode, cerr := create1.EndpointReq()
fmt.Printf("%v\n%v\n,%v\n", cbody, ccode, cerr)
var desc1 desc.Describe
desc1.TableName = tablename1
body, code, err = desc1.EndpointReq()
fmt.Printf("desc:%v\n%v\n,%v\n", body, code, err)
// WAIT FOR IT TO BE ACTIVE
fmt.Printf("checking for ACTIVE status for table....\n")
active, poll_err := desc.PollTableStatus(tablename1, desc.ACTIVE, 100)
if poll_err != nil {
fmt.Printf("poll1:%v\n", poll_err)
os.Exit(1)
}
fmt.Printf("ACTIVE:%v\n", active)
// List TABLES
var l list.List
l.ExclusiveStartTableName = ""
l.Limit = 100
lbody, lcode, lerr := l.EndpointReq()
fmt.Printf("%v\n%v\n,%v\n", lbody, lcode, lerr)
}
开发者ID:nabeken,项目名称:godynamo,代码行数:79,代码来源:create_table-livetest.go
示例19: main
func main() {
// conf file must be read in before anything else, to initialize permissions etc
conf_file.Read()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// deal with iam, or not
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
iam_ready := <-iam_ready_chan
if iam_ready {
fmt.Printf("using iam\n")
} else {
fmt.Printf("not using iam\n")
}
tn := "test-godynamo-livetest"
tablename1 := tn
fmt.Printf("tablename1: %s\n", tablename1)
var code int
var err error
var body string
// INSERT SINGLE ITEM
hk := "a-hash-key"
rk := "1"
var put1 put_item.Request
put1.TableName = tablename1
var av1, av2, av3, av4, av5, av6, av7 ep.AttributeValue
av1.S = hk
av2.N = rk
av3.SS = []string{"pk1_a", "pk1_b", "pk1_c"}
av4.NS = []string{"1", "2", "3", "-7.234234234234234e+09"}
av5.N = "1"
av6.B = base64.StdEncoding.EncodeToString([]byte("hello"))
av7.BS = []string{base64.StdEncoding.EncodeToString([]byte("hello")),
base64.StdEncoding.EncodeToString([]byte("there"))}
put1.Item = make(ep.Item)
put1.Item["TheHashKey"] = av1
put1.Item["TheRangeKey"] = av2
put1.Item["stringlist"] = av3
put1.Item["numlist"] = av4
put1.Item["num"] = av5
put1.Item["byte"] = av6
put1.Item["bytelist"] = av7
// recommended to make sure pk does not exist yet in table
// (i.e. this will be a new item)
put1.Expected = make(ep.Expected)
put1.Expected["t1.hk"] = ep.Constraints{Exists: false}
body, code, err = put1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("put1 failed %d %v %s\n", code, err, body)
os.Exit(1)
}
// GET THAT ITEM
var get1 get_item.Request
get1.TableName = tablename1
get1.Key = make(ep.Item)
get1.Key["TheHashKey"] = av1
get1.Key["TheRangeKey"] = av2
get_json, get_json_err := json.Marshal(get1)
if get_json_err != nil {
fmt.Printf("%v\n", get_json_err)
os.Exit(1)
}
fmt.Printf("%s\n", string(get_json))
body, code, err = get1.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("get failed %d %v %s\n", code, err, body)
os.Exit(1)
}
var gr get_item.Response
um_err := json.Unmarshal([]byte(body), &gr)
if um_err != nil {
fmt.Printf("get resp unmarshal failed %s\n", um_err.Error())
os.Exit(1)
}
// USE PUT TO REPLACE THAT ITEM CONDITIONALLY
// **SET IT UP TO FAIL**
var put2 put_item.Request
put2.TableName = tablename1
var av1_2, av2_2, av3_2, av4_2, av5_2, av6_2 ep.AttributeValue
av1_2.S = hk
av2_2.N = rk
av3_2.SS = []string{"pk1_d", "pk1_e", "pk1_f"}
av4_2.NS = []string{"4", "5", "6"}
av5_2.N = "2"
av6_2.S = "hello there"
put2.Item = make(ep.Item)
put2.Item["TheHashKey"] = av1_2
put2.Item["TheRangeKey"] = av2_2
put2.Item["stringlist"] = av3_2
put2.Item["numlist"] = av4_2
put2.Item["num"] = av5_2
//.........这里部分代码省略.........
开发者ID:nabeken,项目名称:godynamo,代码行数:101,代码来源:item_operations-livetest.go
示例20: main
func main() {
conf_file.Read()
conf.Vals.ConfLock.RLock()
if conf.Vals.Initialized == false {
panic("the conf.Vals global conf struct has not been initialized")
}
// launch a background poller to keep conns to aws alive
if conf.Vals.Network.DynamoDB.KeepAlive {
log.Printf("launching background keepalive")
go keepalive.KeepAlive([]string{})
}
// deal with iam, or not
if conf.Vals.UseIAM {
iam_ready_chan := make(chan bool)
go conf_iam.GoIAM(iam_ready_chan)
_ = <-iam_ready_chan
}
conf.Vals.ConfLock.RUnlock()
s := scan.NewScan()
tn := "test-godynamo-livetest"
s.TableName = tn
k_v1 := fmt.Sprintf("AHashKey%d", 100)
kc := condition.NewCondition()
kc.AttributeValueList = make([]*attributevalue.AttributeValue, 1)
kc.AttributeValueList[0] = &attributevalue.AttributeValue{S: k_v1}
kc.ComparisonOperator = scan.OP_EQ
s.ScanFilter["TheHashKey"] = kc
jsonstr, _ := json.Marshal(s)
fmt.Printf("JSON:%s\n", string(jsonstr))
body, code, err := s.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("scan failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n%v\n", string(body), code, err)
var r scan.Response
um_err := json.Unmarshal([]byte(body), &r)
if um_err != nil {
e := fmt.Sprintf("unmarshal Response: %v", um_err)
fmt.Printf("%s\n", e)
}
s = scan.NewScan()
s.TableName = tn
jsonstr, _ = json.Marshal(s)
fmt.Printf("JSON:%s\n", string(jsonstr))
body, code, err = s.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("scan failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n%v\n", string(body), code, err)
um_err = json.Unmarshal([]byte(body), &r)
if um_err != nil {
e := fmt.Sprintf("unmarshal Response: %v", um_err)
fmt.Printf("%s\n", e)
}
kc = condition.NewCondition()
kc.AttributeValueList = make([]*attributevalue.AttributeValue, 2)
kc.AttributeValueList[0] = &attributevalue.AttributeValue{N: "270"}
kc.AttributeValueList[1] = &attributevalue.AttributeValue{N: "290"}
kc.ComparisonOperator = scan.OP_BETWEEN
s.ScanFilter["SomeValue"] = kc
jsonstr, _ = json.Marshal(s)
fmt.Printf("JSON:%s\n", string(jsonstr))
body, code, err = s.EndpointReq()
fmt.Printf("%v\n%v\n%v\n", string(body), code, err)
um_err = json.Unmarshal([]byte(body), &r)
if um_err != nil {
e := fmt.Sprintf("unmarshal Response: %v", um_err)
fmt.Printf("%s\n", e)
}
k_v2 := fmt.Sprintf("AHashKey%d", 290)
r_v2 := fmt.Sprintf("%d", 290)
s.ExclusiveStartKey["TheHashKey"] = &attributevalue.AttributeValue{S: k_v2}
s.ExclusiveStartKey["TheRangeKey"] = &attributevalue.AttributeValue{N: r_v2}
jsonstr, _ = json.Marshal(s)
fmt.Printf("JSON:%s\n", string(jsonstr))
body, code, err = s.EndpointReq()
if err != nil || code != http.StatusOK {
fmt.Printf("scan failed %d %v %s\n", code, err, body)
}
fmt.Printf("%v\n%v\n%v\n", string(body), code, err)
um_err = json.Unmarshal([]byte(body), &r)
if um_err != nil {
e := fmt.Sprintf("unmarshal Response: %v", um_err)
fmt.Printf("%s\n", e)
}
}
开发者ID:roblillack,项目名称:godynamo,代码行数:97,代码来源:scan-livetest.go
注:本文中的github.com/smugmug/godynamo/conf_iam.GoIAM函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论