#DynamoDB #AWS #Go言語 #LocalStack
## 前提
- [[AWS SAM]]のプロジェクトが存在する
- [[AWS SDK for Go V2のインストール]]が完了している
## インストール
```console
go get github.com/aws/aws-sdk-go-v2/service/dynamodb
go get github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
```
## クライアント作成
### [[LocalStack]]
```go
// LocalStackの場合
awsEndpoint := "http://host.docker.internal:4566"
customResolver := aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
if awsEndpoint != "" {
return aws.Endpoint{
PartitionID: "aws",
URL: awsEndpoint,
SigningRegion: region,
}, nil
}
return aws.Endpoint{}, &aws.EndpointNotFoundError{}
})
cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithEndpointResolver(customResolver))
if err != nil {
log.Fatal(err)
}
client := dynamodb.NewFromConfig(cfg)
```