#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) ```