本文整理汇总了C#中Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceConfig类的典型用法代码示例。如果您正苦于以下问题:C# AmazonSimpleNotificationServiceConfig类的具体用法?C# AmazonSimpleNotificationServiceConfig怎么用?C# AmazonSimpleNotificationServiceConfig使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AmazonSimpleNotificationServiceConfig类属于Amazon.SimpleNotificationService命名空间,在下文中一共展示了AmazonSimpleNotificationServiceConfig类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SNSHelper
public SNSHelper(AwsClientDetails clientDetails, String serviceUrl = null)
{
if (string.IsNullOrEmpty(serviceUrl))
{
Client = AWSClientFactory.CreateAmazonSNSClient(clientDetails.AwsAccessKeyId,
clientDetails.AwsSecretAccessKey);
}
else
{
AmazonSimpleNotificationServiceConfig asnsConfig = new AmazonSimpleNotificationServiceConfig();
asnsConfig.ServiceURL = serviceUrl;
Client = AWSClientFactory.CreateAmazonSNSClient(clientDetails.AwsAccessKeyId,
clientDetails.AwsSecretAccessKey, asnsConfig);
}
}
示例2: Subscribe
public ISubscribeReponseMessage Subscribe(string queueUrl)
{
var sqsConfig = new AmazonSQSConfig {ServiceURL = SqsServiceUrl};
var snsConfig = new AmazonSimpleNotificationServiceConfig {ServiceURL = SnsServiceUrl};
using (var sqsClient = _awsConfig.CreateAwsClient<AmazonSQSClient>(sqsConfig))
{
var attributesRequest = new GetQueueAttributesRequest(queueUrl, new List<string> {"QueueArn"});
var attributesResponse = sqsClient.GetQueueAttributes(attributesRequest);
using (var snsClient = _awsConfig.CreateAwsClient<AmazonSimpleNotificationServiceClient>(snsConfig))
{
var subribeResonse =
snsClient.Subscribe(new SubscribeRequest(TopicArn, "sqs", attributesResponse.QueueARN));
}
var actions = new ActionIdentifier[2];
actions[0] = SQSActionIdentifiers.SendMessage;
actions[1] = SQSActionIdentifiers.ReceiveMessage;
var sqsPolicy =
new Policy().WithStatements(
new Statement(Statement.StatementEffect.Allow).WithPrincipals(Principal.AllUsers)
.WithResources(
new Resource(attributesResponse.QueueARN))
.WithConditions(
ConditionFactory.NewSourceArnCondition(
TopicArn))
.WithActionIdentifiers(actions));
var setQueueAttributesRequest = new SetQueueAttributesRequest();
var attributes = new Dictionary<string, string> {{"Policy", sqsPolicy.ToJson()}};
var attRequest = new SetQueueAttributesRequest(attributesRequest.QueueUrl, attributes);
sqsClient.SetQueueAttributes(attRequest);
return new SubcriptionMessage("Ok");
}
}
示例3: CreateAmazonSimpleNotificationServiceClient
/// <summary>
/// Create a client for the Amazon SimpleNotificationService Service with AWSCredentials and an AmazonSimpleNotificationService Configuration object.
/// </summary>
/// <param name="credentials">AWS Credentials</param>
/// <param name="config">Configuration options for the service like HTTP Proxy, # of connections, etc</param>
/// <returns>An Amazon SimpleNotificationService client</returns>
/// <remarks>
/// </remarks>
public static IAmazonSimpleNotificationService CreateAmazonSimpleNotificationServiceClient(AWSCredentials credentials, AmazonSimpleNotificationServiceConfig config)
{
return new AmazonSimpleNotificationServiceClient(credentials, config);
}
示例4: CreateAmazonSNSClient
/// <summary>
/// Create a client for the Amazon SNS Service with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
/// <code>
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSAccessKey" value="********************"/>
/// <add key="AWSSecretKey" value="****************************************"/>
/// </appSettings>
/// </configuration>
/// </code>
/// </summary>
/// <param name="config">Configuration options for the service like HTTP Proxy, # of connections, etc</param>
/// <returns>An Amazon SNS client</returns>
public static AmazonSimpleNotificationService CreateAmazonSNSClient(AmazonSimpleNotificationServiceConfig config)
{
return new AmazonSimpleNotificationServiceClient(config);
}
示例5: AmazonSimpleNotificationServiceClient
/// <summary>
/// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSimpleNotificationServiceClient Configuration object. If the config object's
/// UseSecureStringForAwsSecretKey is false, the AWS Secret Key
/// is stored as a clear-text string. Please use this option only
/// if the application environment doesn't allow the use of SecureStrings.
/// </summary>
/// <param name="awsAccessKeyId">AWS Access Key ID</param>
/// <param name="awsSecretAccessKey">AWS Secret Access Key</param>
/// <param name="awsSessionToken">AWS Session Token</param>
/// <param name="clientConfig">The AmazonSimpleNotificationServiceClient Configuration Object</param>
public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSimpleNotificationServiceConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig, AuthenticationTypes.User | AuthenticationTypes.Session)
{
}
示例6: AmazonSimpleNotificationServiceClient
/// <summary>
/// Constructs AmazonSimpleNotificationServiceClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSimpleNotificationServiceClient Configuration object.
/// </summary>
/// <param name="awsAccessKeyId">AWS Access Key ID</param>
/// <param name="awsSecretAccessKey">AWS Secret Access Key</param>
/// <param name="clientConfig">The AmazonSimpleNotificationServiceClient Configuration Object</param>
public AmazonSimpleNotificationServiceClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSimpleNotificationServiceConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
示例7: EstablishClient
private OperationResult EstablishClient(AddonManifest manifest, DeveloperOptions devOptions, out AmazonSimpleNotificationServiceClient client)
{
OperationResult result;
bool requireCreds;
var manifestprops = manifest.GetProperties().ToDictionary(x => x.Key, x => x.Value);
var AccessKey = manifestprops["AWSClientKey"];
var SecretAccessKey = manifestprops["AWSSecretKey"];
var _RegionEndpoint = manifestprops["AWSRegionEndpoint"];
var prop =
manifest.Properties.First(
p => p.Key.Equals("requireDevCredentials", StringComparison.InvariantCultureIgnoreCase));
if (bool.TryParse(prop.Value, out requireCreds) && requireCreds)
{
if (!ValidateDevCreds(devOptions))
{
client = null;
result = new OperationResult()
{
IsSuccess = false,
EndUserMessage =
"The add on requires that developer credentials are specified but none were provided."
};
return result;
}
//accessKey = devOptions.AccessKey;
//secretAccessKey = devOptions.SecretAccessKey;
}
AmazonSimpleNotificationServiceConfig config = new AmazonSimpleNotificationServiceConfig() { RegionEndpoint = RegionEndpoint.USEast1 };
client = new AmazonSimpleNotificationServiceClient(AccessKey, SecretAccessKey, config);
result = new OperationResult { IsSuccess = true };
return result;
}
示例8: NcWindow_Loaded
/// <summary>
/// Notification configuration window load event
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void NcWindow_Loaded(object sender, RoutedEventArgs e)
{
try
{
AmazonAutoScalingConfig config = new AmazonAutoScalingConfig();
config.ServiceURL = ((ViewModel)this.DataContext).Region.Url;
AmazonAutoScalingClient client = new AmazonAutoScalingClient(config);
DescribeAutoScalingNotificationTypesRequest dasntreq = new DescribeAutoScalingNotificationTypesRequest();
DescribeAutoScalingNotificationTypesResponse dasntresp = client.DescribeAutoScalingNotificationTypes(dasntreq);
foreach (string asnt in dasntresp.DescribeAutoScalingNotificationTypesResult.AutoScalingNotificationTypes)
{
this.notificationTypes.Add(asnt);
}
AmazonSimpleNotificationServiceConfig snsconfig = new AmazonSimpleNotificationServiceConfig();
config.ServiceURL = ((ViewModel)this.DataContext).Region.Url;
AmazonSimpleNotificationServiceClient snsclient = new AmazonSimpleNotificationServiceClient(snsconfig);
ListTopicsRequest ltrequest = new ListTopicsRequest();
ListTopicsResponse ltresp = snsclient.ListTopics(ltrequest);
foreach (Topic topic in ltresp.ListTopicsResult.Topics)
{
this.snstopics.Add(topic.TopicArn);
}
rlbNcTypes.ItemsSource = this.notificationTypes;
cboTopics.ItemsSource = this.snstopics;
}
catch
{
MessageBox.Show(Window.GetWindow(this), "Error occured while loading the notification configuration options.", "Error", MessageBoxButton.OK);
this.Close();
}
}