小编Svj*_*Man的帖子

以 SQS 队列为目标的 CloudWatch 事件无法正常工作

根据这篇文章,可以将SQS设置为预定CloudWatch事件的目标:

https://aws.amazon.com/ru/about-aws/whats-new/2016/03/cloudwatch-events-now-supports-amazon-sqs-queue-targets/

我创建了一个简单的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

6
推荐指数
1
解决办法
4088
查看次数

在 Blazor 客户端加载 JS 模块的最佳实践是什么?

在 Blazor 中,有多种执行 JavaScript 代码的选项:

  1. 将 js 文件加载到IJSObjectReference实例中并对其调用InvokeAsync :

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)
  1. 将 js 文件作为脚本添加到 HTML 标记并在IJSRuntime实例上调用InvokeAsync

索引.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)

两种方法都有效,但从性能、代码维护和代码整洁的角度来看,哪一种是首选呢?

blazor blazor-client-side asp.net-blazor blazor-webassembly

5
推荐指数
1
解决办法
3639
查看次数