小编sri*_*iba的帖子

golang s3使用s3manager.downloader下载到缓冲区

我正在使用amazon s3 sdk下载文件,如下所示:

file, err := os.Create("/tmp/download_file")
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                 Region: aws.String("us-west-2")}))
numBytes, err := downloader.Download(file,
    &s3.GetObjectInput{
        Bucket: aws.String(bucketName),
        Key:    aws.String(fileName),
    })
Run Code Online (Sandbox Code Playgroud)

它下载到一个文件.如何直接将下载内容导入[]字节片(缓冲区).我试过类似的东西

var tBuf bytes.Buffer
tBufIo := bufio.NewWriter(&tBuf)
Run Code Online (Sandbox Code Playgroud)

而不是"文件".但是为io.WriterAt接口获取错误

file, err := os.Create("/tmp/download_file")
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                 Region: aws.String("us-west-2")}))
numBytes, err := downloader.Download(file,
    &s3.GetObjectInput{
        Bucket: aws.String(bucketName),
        Key:    aws.String(fileName),
    })
Run Code Online (Sandbox Code Playgroud)

amazon-s3 go

10
推荐指数
1
解决办法
7444
查看次数

特使过滤器拦截上游响应

我已经为 envoy 编写了 ext_authz 过滤器,并且对 envoy 过滤器的工作原理有基本的了解。但现在我想过滤从上游返回的响应。具体来说,我想处理两件事:

  1. 在 Envoy 发送回下游之前,拦截来自上游的 data/jsonBody 并根据某些业务规则过滤/修改 responseJsonBody。

  2. 如果上游关闭(当http响应代码408-超时时),我想将后请求保存到async-msg-que并将202-Accepted发送回下游。这样,当上游返回时,它将处理来自 async-msg-que 的待处理后请求。

是否有现有的过滤器可以用于这些目的,或者使用 envoy-proxy sidecar 执行此操作的正确方法是什么。

谢谢。

istio envoyproxy istio-sidecar

1
推荐指数
1
解决办法
3470
查看次数

标签 统计

amazon-s3 ×1

envoyproxy ×1

go ×1

istio ×1

istio-sidecar ×1