卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34064本站已运行391

如何通过 golang aws sdk 从 `postToConnection` 调用捕获 410 错误?

如何通过 golang aws sdk 从 `posttoconnection` 调用捕获 410 错误?

问题内容

我在 AWS 中使用 websocket apigateway 来管理 websocket 连接。存在连接断开但未触发 @disconnect 路由的情况。在这种情况下,postToConnection api 调用将返回 410 错误。

我正在使用golang sdk github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapipostToConnection API 返回 PostToConnectionOutput,错误 。如何检测错误是否是410错误?


正确答案


可以检查返回的错误是goneexception类型

请参阅 https://aws.github.io /aws-sdk-go-v2/docs/handling-errors/

import(
      api "github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi"
      apitypes "github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi/types"
    )
    


    func main() {
        
        svc := api.New(api.Options{
            Region: "your-region",
        })
    
        output, err := svc.PostToConnection(ctx, &api.PostToConnectionInput{
            ConnectionId: aws.String("your-connection-id"),
        })
    
        if err != nil {
            var gne *apitypes.GoneException
            if errors.As(err, &gne) {
                log.Println("error:", gne.Error())
            }
            return
        }
    }
卓越飞翔博客
上一篇: 如何解决通过 EXE 运行程序时的延迟和滞后问题?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏