Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Penapisan Pelbagai Keadaan dalam AWS SDK untuk Go DynamoDB?

Bagaimana untuk Melaksanakan Penapisan Pelbagai Keadaan dalam AWS SDK untuk Go DynamoDB?

Mary-Kate Olsen
Lepaskan: 2024-10-29 11:17:02
asal
1051 orang telah melayarinya

How to Implement Multi-Condition Filtering in AWS SDK for Go DynamoDB?

Penapisan Berbilang Keadaan untuk AWS SDK for Go DynamoDb dengan Tambah Berbilang Keadaan pada PenapisExpression

Masalah:
Pengguna memerlukan cara untuk tapis imbasan DynamoDB menggunakan berbilang keadaan dalam pembina ungkapan. Pelaksanaan awal menimpa keadaan sebelumnya, mengehadkan keupayaan penapisan berbilang keadaan.

Penyelesaian:
Menggunakan struct ConditionBuilder, pembangun boleh menambah berbilang syarat dengan menggunakan And, Or, dan Bukan kaedah. Berikut ialah contoh:

<code class="go">package main

import (
    "fmt"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/dynamodb"
    "github.com/aws/aws-sdk-go/service/dynamodb/expression"
)

func main() {
    sess := session.Must(session.NewSessionWithOptions(
        session.Options{
            SharedConfigState: session.SharedConfigEnable,
        },
    ))

    svc := dynamodb.New(sess, &aws.Config{
        Region: aws.String("us-west-1"),
    })

    cond1 := expression.Name("foo").Equal(expression.Value(5))
    cond2 := expression.Name("bar").Equal(expression.Value(6))
    expr, err := expression.NewBuilder().
        WithCondition(cond1.And(cond2)).
        Build()
    if err != nil {
        fmt.Println(err)
    }

    input := &dynamodb.ScanInput{
        ExpressionAttributeNames:  expr.Names(),
        ExpressionAttributeValues: expr.Values(),
        FilterExpression:          expr.Filter(),
        TableName:                 aws.String("Music"),
    }

    _, err = svc.Scan(input)
    if err != nil {
        fmt.Println(err)
    }
}</code>
Salin selepas log masuk

Dokumentasi:

Anda boleh merujuk kepada dokumentasi rasmi untuk mendapatkan maklumat lanjut tentang penapisan berbilang syarat dengan ExpressionBuilder: [https:// pkg.go.dev/github.com/aws/aws-sdk-go/aws/session/credentials#Values](https://pkg.go.dev/github.com/aws/aws-sdk-go/service /dynamodb/expression#And)

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penapisan Pelbagai Keadaan dalam AWS SDK untuk Go DynamoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan