根据这篇文章,可以将SQS设置为预定CloudWatch事件的目标:
我创建了一个简单的Cloud Formation模板,旨在每分钟触发一次 CloudWatch事件,因此新消息应出现在SQS 中,但由于SQS中没有消息,因此缺少某些内容。
编码:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "stack 1",
"Parameters": {
},
"Resources": {
"MyQueue": {
"Type": "AWS::SQS::Queue",
"Properties": {
"QueueName": "MyQueue"
}
},
"MyRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"RoleName": "MyRole",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Service": ["events.amazonaws.com", "lambda.amazonaws.com"]
},
"Action": "sts:AssumeRole"
}]
},
"Path": "/",
"Policies": [{
"PolicyName": "CloudWatchPolicy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow", …Run Code Online (Sandbox Code Playgroud) amazon-sqs amazon-web-services aws-cloudformation amazon-cloudwatch
在 Blazor 中,有多种执行 JavaScript 代码的选项:
Blazor 组件的代码隐藏文件:
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
IJSObjectReference module = await JSRuntime.InvokeAsync<IJSObjectReference>("import", ".script1.js");
await module.InvokeVoidAsync("sampleFunction1");
}
}
Run Code Online (Sandbox Code Playgroud)
索引.html:
<script src="script1.js"></script>
Run Code Online (Sandbox Code Playgroud)
Blazor 组件的代码隐藏文件:
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("sampleFunction1");
}
}
Run Code Online (Sandbox Code Playgroud)
两种方法都有效,但从性能、代码维护和代码整洁的角度来看,哪一种是首选呢?