本文整理汇总了Golang中google/golang.org/cloud/datastore.NewClient函数的典型用法代码示例。如果您正苦于以下问题:Golang NewClient函数的具体用法?Golang NewClient怎么用?Golang NewClient使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewClient函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: ExampleQuery
func ExampleQuery() {
ctx := context.Background()
client, err := datastore.NewClient(ctx, "project-id")
if err != nil {
log.Fatal(err)
}
// Count the number of the post entities.
q := datastore.NewQuery("Post")
n, err := client.Count(ctx, q)
if err != nil {
log.Fatal(err)
}
log.Println("There are %d posts.", n)
// List the posts published since yesterday.
yesterday := time.Now().Add(-24 * time.Hour)
q = datastore.NewQuery("Post").Filter("PublishedAt >", yesterday)
it := client.Run(ctx, q)
// Use the iterator.
_ = it
// Order the posts by the number of comments they have recieved.
datastore.NewQuery("Post").Order("-Comments")
// Start listing from an offset and limit the results.
datastore.NewQuery("Post").Offset(20).Limit(10)
}
开发者ID:Celluliodio,项目名称:flannel,代码行数:28,代码来源:example_test.go
示例2: Example_auth
// TODO(djd): reevaluate this example given new Client config.
func Example_auth() *datastore.Client {
// Initialize an authorized context with Google Developers Console
// JSON key. Read the google package examples to learn more about
// different authorization flows you can use.
// http://godoc.org/golang.org/x/oauth2/google
jsonKey, err := ioutil.ReadFile("/path/to/json/keyfile.json")
if err != nil {
log.Fatal(err)
}
conf, err := google.JWTConfigFromJSON(
jsonKey,
datastore.ScopeDatastore,
datastore.ScopeUserEmail,
)
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
client, err := datastore.NewClient(ctx, "project-id", cloud.WithTokenSource(conf.TokenSource(ctx)))
if err != nil {
log.Fatal(err)
}
// Use the client (see other examples).
return client
}
开发者ID:Celluliodio,项目名称:flannel,代码行数:26,代码来源:example_test.go
示例3: ExampleIterator_Cursor
func ExampleIterator_Cursor() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
cursorStr := ""
// [START cursor_paging]
const pageSize = 5
query := datastore.NewQuery("Tasks").Limit(pageSize)
if cursorStr != "" {
cursor, err := datastore.DecodeCursor(cursorStr)
if err != nil {
log.Fatalf("Bad cursor %q: %v", cursorStr, err)
}
query = query.Start(cursor)
}
// Read the tasks.
var tasks []Task
var task Task
it := client.Run(ctx, query)
_, err := it.Next(&task)
for err == nil {
tasks = append(tasks, task)
_, err = it.Next(&task)
}
if err != datastore.Done {
log.Fatalf("Failed fetching results: %v", err)
}
// Get the cursor for the next page of results.
nextCursor, err := it.Cursor()
// [END cursor_paging]
_ = err // Check the error.
_ = nextCursor // Use nextCursor.String as the next page's token.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:34,代码来源:examples_test.go
示例4: ExampleClient_PutMulti
func ExampleClient_PutMulti() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
// [START batch_upsert]
tasks := []*Task{
{
Type: "Personal",
Done: false,
Priority: 4,
Description: "Learn Cloud Datastore",
},
{
Type: "Personal",
Done: false,
Priority: 5,
Description: "Integrate Cloud Datastore",
},
}
keys := []*datastore.Key{
datastore.NewIncompleteKey(ctx, "Task", nil),
datastore.NewIncompleteKey(ctx, "Task", nil),
}
keys, err := client.PutMulti(ctx, keys, tasks)
// [END batch_upsert]
_ = err // Make sure you check err.
_ = keys // keys now has the complete keys for the newly stored tasks.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:28,代码来源:examples_test.go
示例5: Example_Transaction
func Example_Transaction() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
var to, from *datastore.Key
// [START transactional_update]
type BankAccount struct {
Balance int
}
const amount = 50
keys := []*datastore.Key{to, from}
tx, err := client.NewTransaction(ctx)
if err != nil {
log.Fatalf("client.NewTransaction: %v", err)
}
accs := make([]BankAccount, 2)
if err := tx.GetMulti(keys, accs); err != nil {
tx.Rollback()
log.Fatalf("tx.GetMulti: %v", err)
}
accs[0].Balance += amount
accs[1].Balance -= amount
if _, err := tx.PutMulti(keys, accs); err != nil {
tx.Rollback()
log.Fatalf("tx.PutMulti: %v", err)
}
if _, err = tx.Commit(); err != nil {
log.Fatalf("tx.Commit: %v", err)
}
// [END transactional_update]
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:31,代码来源:examples_test.go
示例6: ExamplePut
func ExamplePut() {
ctx := context.Background()
client, err := datastore.NewClient(ctx, "project-id")
if err != nil {
log.Fatal(err)
}
type Article struct {
Title string
Description string
Body string `datastore:",noindex"`
Author *datastore.Key
PublishedAt time.Time
}
newKey := datastore.NewIncompleteKey(ctx, "Article", nil)
_, err = client.Put(ctx, newKey, &Article{
Title: "The title of the article",
Description: "The description of the article...",
Body: "...",
Author: datastore.NewKey(ctx, "Author", "jbd", 0, nil),
PublishedAt: time.Now(),
})
if err != nil {
log.Fatal(err)
}
}
开发者ID:Celluliodio,项目名称:flannel,代码行数:26,代码来源:example_test.go
示例7: GetDatastore
func GetDatastore(ctx context.Context) *datastore.Client {
client, err := datastore.NewClient(ctx, PROEJCT_ID)
if err != nil {
log.Fatalf("Failed to create datastore client: %v", client)
}
return client
}
开发者ID:SimiPro,项目名称:letsgo,代码行数:7,代码来源:Datastore.go
示例8: configureDatastoreDB
func configureDatastoreDB(projectID string) (BookDatabase, error) {
ctx := context.Background()
client, err := datastore.NewClient(ctx, projectID)
if err != nil {
return nil, err
}
return newDatastoreDB(client)
}
开发者ID:huxq17,项目名称:golang-samples,代码行数:8,代码来源:config.go
示例9: ExampleClient_Delete
func ExampleClient_Delete() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
key := datastore.NewKey(ctx, "Task", "sampletask", 0, nil)
// [START delete]
err := client.Delete(ctx, key)
// [END delete]
_ = err // Make sure you check err.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:9,代码来源:examples_test.go
示例10: ExampleClient_DeleteMulti
func ExampleClient_DeleteMulti() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
var taskKeys []*datastore.Key // Populated with incomplete keys.
// [START batch_delete]
err := client.DeleteMulti(ctx, taskKeys)
// [END batch_delete]
_ = err // Make sure you check err.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:9,代码来源:examples_test.go
示例11: ExampleClient_Get
func ExampleClient_Get() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
taskKey := datastore.NewKey(ctx, "Task", "sampleTask", 0, nil)
// [START lookup]
var task Task
err := client.Get(ctx, taskKey, &task)
// [END lookup]
_ = err // Make sure you check err.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:10,代码来源:examples_test.go
示例12: AuthDatastore
func (cred *ServerCred) AuthDatastore(ctx context.Context) (*datastore.Client, error) {
ctx = TraceStart(ctx, "/frontend._.AuthDatastore")
defer TraceEnd(ctx, cred)
client, err := datastore.NewClient(
ctx, ProjectId, cloud.WithTokenSource(cred.cred.TokenSource(ctx)))
if err != nil {
return nil, err
}
return client, nil
}
开发者ID:xanxys,项目名称:bonsai,代码行数:11,代码来源:auth.go
示例13: ExampleClient_Put_upsert
func ExampleClient_Put_upsert() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
task := &Task{} // Populated with appropriate data.
key := datastore.NewIncompleteKey(ctx, "Task", nil)
// [START upsert]
key, err := client.Put(ctx, key, task)
// [END upsert]
_ = err // Make sure you check err.
_ = key // key is the complete key for the newly stored task
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:11,代码来源:examples_test.go
示例14: TestMain
func TestMain(m *testing.M) {
ctx := context.Background()
if tc, ok := testutil.ContextMain(m); ok {
var err error
client, err = datastore.NewClient(ctx, tc.ProjectID)
if err != nil {
log.Fatalf("datastore.NewClient: %v", err)
}
defer client.Close()
}
os.Exit(m.Run())
}
开发者ID:jeffmendoza,项目名称:golang-samples,代码行数:12,代码来源:tasks_test.go
示例15: ExampleDelete
func ExampleDelete() {
ctx := context.Background()
client, err := datastore.NewClient(ctx, "project-id")
if err != nil {
log.Fatal(err)
}
key := datastore.NewKey(ctx, "Article", "articled1", 0, nil)
if err := client.Delete(ctx, key); err != nil {
log.Fatal(err)
}
}
开发者ID:Celluliodio,项目名称:flannel,代码行数:12,代码来源:example_test.go
示例16: ExampleQuery_KeysOnly
func ExampleQuery_KeysOnly() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
// [START keys_only_query]
query := datastore.NewQuery("Task").KeysOnly()
// [END keys_only_query]
// [START run_keys_only_query]
keys, err := client.GetAll(ctx, query, nil)
// [END run_keys_only_query]
_ = err // Make sure you check err.
_ = keys // Keys contains keys for all stored tasks.
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:12,代码来源:examples_test.go
示例17: NewClient
// NewClient creates a new Client for the given project, using bucket for
// GCS storage.
func NewClient(ctx context.Context, projectID string, bucket string) (*Client, error) {
d, err := datastore.NewClient(ctx, projectID)
if err != nil {
return nil, err
}
return &Client{
ctx: ctx,
bucket: bucket,
datastore: d,
}, nil
}
开发者ID:prattmic,项目名称:codesearch,代码行数:14,代码来源:storage.go
示例18: main
func main() {
ctx := context.Background()
// Set this in app.yaml when running in production.
projectID := os.Getenv("GCLOUD_DATASET_ID")
var err error
datastoreClient, err = datastore.NewClient(ctx, projectID)
if err != nil {
log.Fatal(err)
}
http.HandleFunc("/", handle)
appengine.Main()
}
开发者ID:jeffmendoza,项目名称:golang-samples,代码行数:15,代码来源:datastore.go
示例19: Example_metadataKinds
func Example_metadataKinds() {
ctx := context.Background()
client, _ := datastore.NewClient(ctx, "my-proj")
// [START kind_run_query]
query := datastore.NewQuery("__kind__").KeysOnly()
keys, err := client.GetAll(ctx, query, nil)
if err != nil {
log.Fatalf("client.GetAll: %v", err)
}
kinds := make([]string, 0, len(keys))
for _, k := range keys {
kinds = append(kinds, k.Name())
}
// [END kind_run_query]
}
开发者ID:takbok,项目名称:shared-contacts-admin,代码行数:16,代码来源:examples_test.go
示例20: GetEntity
func (ds *Datastore) GetEntity(subject string) (reply []x.Instruction, rerr error) {
skey := datastore.NewKey(ds.ctx, ds.tablePrefix+"Entity", subject, 0, nil)
log.Infof("skey: %+v", skey)
client, err := datastore.NewClient(ds.ctx, ds.projectId)
if err != nil {
x.LogErr(log, err).Error("While creating client")
return reply, err
}
var dkeys []*datastore.Key
q := datastore.NewQuery(ds.tablePrefix + "Instruction").Ancestor(skey)
dkeys, rerr = client.GetAll(ds.ctx, q, &reply)
log.Debugf("Got num keys: %+v", len(dkeys))
return
}
开发者ID:aslanides,项目名称:gocrud,代码行数:16,代码来源:datastore.go
注:本文中的google/golang.org/cloud/datastore.NewClient函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论