C# ping AWS SNS服务以验证AmazonSimpleNotificationServiceClient中的连接

C# ping AWS SNS服务以验证AmazonSimpleNotificationServiceClient中的连接,c#,amazon-web-services,amazon-sns,C#,Amazon Web Services,Amazon Sns,我正在c#web api中编写一个小组件,用于向Amazon SNS发送通知。在不同的服务器环境(开发、测试、登台、生产)上,我的应用程序连接到不同的SNS主题以及AWS上的不同帐户。我想要的是某种形式的“ping”来验证我在部署应用程序时是否正确连接到AWS和SNS主题(以避免在AmazonSimpleNotificationServiceClient/SNS主题arn的配置/初始化出错时SDK出现异常) 是否有某种方法可以验证C#SDK中客户端和/或主题的状态 我曾想过发布一条假“ping消

我正在c#web api中编写一个小组件,用于向Amazon SNS发送通知。在不同的服务器环境(开发、测试、登台、生产)上,我的应用程序连接到不同的SNS主题以及AWS上的不同帐户。我想要的是某种形式的“ping”来验证我在部署应用程序时是否正确连接到AWS和SNS主题(以避免在AmazonSimpleNotificationServiceClient/SNS主题arn的配置/初始化出错时SDK出现异常)

是否有某种方法可以验证C#SDK中客户端和/或主题的状态

我曾想过发布一条假“ping消息”,听众可以直接扔掉——但如果可能的话,我希望避免这种情况


有人有什么建议吗?

您只需向AWS发出请求并返回HttpStatusCode即可。我不知道SNS,但我曾与S3合作过。如果我这样做的话,我会这样做

        static void Main(string[] args)
    {
        string awsAccess = "";
        string awsSecret = "";
        string bucketName = "";

        AmazonS3Client client = new AmazonS3Client(awsAccess, awsSecret, RegionEndpoint.USWest2);

        var buckets = client.GetBucketLocation(bucketName);

        string httpResponse = buckets.HttpStatusCode.ToString();

        if (httpResponse == "OK")
        {
            Console.WriteLine("HttpStatus: Good");
        }
        else Console.WriteLine("Something went wrong");

        Console.ReadKey();
    }

希望这对您有所帮助,您只需向AWS发出请求并返回HttpStatusCode即可。我不知道SNS,但我曾与S3合作过。如果我这样做的话,我会这样做

        static void Main(string[] args)
    {
        string awsAccess = "";
        string awsSecret = "";
        string bucketName = "";

        AmazonS3Client client = new AmazonS3Client(awsAccess, awsSecret, RegionEndpoint.USWest2);

        var buckets = client.GetBucketLocation(bucketName);

        string httpResponse = buckets.HttpStatusCode.ToString();

        if (httpResponse == "OK")
        {
            Console.WriteLine("HttpStatus: Good");
        }
        else Console.WriteLine("Something went wrong");

        Console.ReadKey();
    }
希望这有帮助

你说的“验证”是什么意思?您对主题可能处于的状态的预期选项是什么?据我所知,我所知道的唯一状态是“有效主题”和“无效主题”。你是对的。此外,我还可以(并且希望)验证/验证通过注入的凭据。通过验证在部署时进行配置(根据环境的不同而不同)我的意思是,访问密钥和密钥是否正确(amazon使用
200 OK
响应,而不是使用身份验证错误)您所说的“验证”是什么意思?您对主题可能处于的状态的预期选项是什么?据我所知,我所知道的唯一状态是“有效主题”和“无效主题”。你是对的。此外,我还可以(并且希望)验证/验证通过注入的凭据。在部署时进行配置(根据环境的不同而有所不同),我的意思是验证访问密钥和密钥是否正确(amazon以
200 OK
响应,而不是验证错误)