Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich den 410-Fehler vom „postToConnection“-Aufruf über Golang AWS SDK abfangen?

Wie kann ich den 410-Fehler vom „postToConnection“-Aufruf über Golang AWS SDK abfangen?

王林
王林nach vorne
2024-02-06 08:30:081003Durchsuche

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

Frageninhalt

Ich verwende Websocket Apigateway in AWS, um Websocket-Verbindungen zu verwalten. Es liegt eine Verbindungsunterbrechung vor, die jedoch nicht ausgelöst wird @disconnect 路由的情况。在这种情况下,postToConnection Der API-Aufruf gibt einen 410-Fehler zurück.

Ich verwende Golang SDK github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi. Die postToConnection-API gibt PostToConnectionOutput, Fehler zurück. Wie erkennt man, ob es sich bei einem Fehler um einen 410-Fehler handelt? github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapipostToConnection API 返回 PostToConnectionOutput,错误 。如何检测错误是否是410错误?


正确答案


可以检查返回的错误是goneexception

Richtige Antwort

Sie können überprüfen, ob der zurückgegebene Fehler vom Typ goneException ist

Siehe 🎜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
        }
    }

Das obige ist der detaillierte Inhalt vonWie kann ich den 410-Fehler vom „postToConnection“-Aufruf über Golang AWS SDK abfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen