#S3 #AWS #Go言語 #LocalStack
## 前提
- [[AWS SAM]]のプロジェクトが存在する
- [[LocalStackのインストール]]が完了している
- [[AWS SDK for Go V2のインストール]]が完了している。
## インストール
```console
go get github.com/aws/aws-sdk-go-v2/service/s3
```
## コードを書く
[[AWS SDK for Go V2でエンドポイントを上書き]]する。
```go:main.go
TODO
```
接続できないエラー。
```
operation error S3: ListObjectsV2, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Get "http://minerva.localhost:4566/?list-type=2": dial tcp: lookup minerva.localhost on 192.168.65.5:53: no such host
```
おそらく[[SAM Local]]の環境から[[LocalStack]]の環境へネットワークが疎通できないためと思われる。
```mermaid
flowchart LR
PC --OK---> samlocal[SAM Local]
PC --OK---> LocalStack
samlocal -.-> |NG| LocalStack
```
## 参考
- [AWS SAM CLI と localstack を利用して Lambda をローカル実行してみよう](https://bsblog.casareal.co.jp/archives/5571)