当前位置: 首页 > news >正文

wordpress 二级域名附件如何做网站优化

wordpress 二级域名附件,如何做网站优化,怎么做网站引流,深圳服装网站建设AWS 消息队列服务 SQS 引言什么是 SQSSQS 访问策略 Access Policy示例:如何为 DataLake Subscription 配置 SQS 引言 应用系统需要处理海量数据,数据发送方和数据消费方是通过什么方式来无缝集成消费数据的,AWS 提供 SQS 消息队列服务来解决…

AWS 消息队列服务 SQS

  • 引言
  • 什么是 SQS
  • SQS 访问策略 Access Policy
  • 示例:如何为 DataLake Subscription 配置 SQS

引言

应用系统需要处理海量数据,数据发送方和数据消费方是通过什么方式来无缝集成消费数据的,AWS 提供 SQS 消息队列服务来解决这个无缝通讯问题,使得应用之间解耦,异步,可靠,灵活和可维护性。

什么是 SQS

AWS SQS(Amazon Simple Queue Service)是一种由 Amazon Web Services 提供的完全托管的消息队列服务。它允许分布式应用程序的各个组件之间异步传输消息,而无需丢失消息或需要其他服务始终可用。以下是 AWS SQS 的主要特点和功能:

  1. 消息队列
    发送和接收消息:SQS 允许应用程序组件之间通过消息队列进行通信。发送方将消息发送到队列中,接收方从队列中读取消息。
    消息持久性:消息在队列中保存直到它们被接收并删除。即使发送方或接收方出现故障,消息仍然存在。
  2. 两种队列类型
    标准队列:提供几乎无限的吞吐量,允许每秒处理大量消息。标准队列保证消息至少被处理一次,但可能偶尔会发生消息重复或顺序错乱。
    FIFO 队列(先入先出):确保消息按照发送的顺序严格处理且每条消息仅处理一次。适用于顺序处理非常重要的场景。
  3. 消息延迟
    SQS 支持对消息的发送进行延迟处理,允许消息在指定时间之后才变为可见。
  4. 自动扩展
    SQS 是一个完全托管的服务,可以根据流量自动扩展,不需要用户自行管理容量。
  5. 与其他 AWS 服务集成
    SQS 可以与许多 AWS 服务无缝集成,比如与 AWS Lambda 配合使用,实现无服务器计算;或与 Amazon S3、EC2 等结合,构建复杂的分布式系统。
    分离系统组件:通过将应用程序组件解耦,你可以在系统的各个部分之间创建一个异步的、可靠的通信机制,这有助于提高系统的灵活性和可维护性
  6. 消息处理
    SQS 提供了可调的消息保留时间(1 分钟到 14 天),以及消息可见性超时,用于控制消息在队列中的处理方式。
  7. 安全性
    SQS 支持通过 AWS Identity and Access Management (IAM) 控制对队列的访问权限,并支持加密,确保消息的安全传输和存储。
    AWS SQS 非常适用于需要解耦、扩展以及提高系统容错能力的场景,如订单处理系统、任务分配系统等。
  8. 成本效益:SQS 按需计费,你只需为你使用的消息量和请求付费,无需预付费用或长期承诺。

SQS 访问策略 Access Policy

在 AWS SQS 中,访问策略(Access Policy)用于控制对 SQS 队列的访问权限。访问策略可以定义谁(即哪些用户或服务)可以访问队列,以及他们能够执行的操作。访问策略是基于 JSON 格式的策略文档,通常通过 AWS Identity and Access Management (IAM) 实现。以下是有关 SQS 访问策略的主要概念和示例。

  1. 策略结构
    SQS 访问策略通常包括以下几个部分:
  • Version:指定策略语言的版本。
  • Id(可选):策略的唯一标识符。
  • Statement:一个或多个权限声明,定义允许或拒绝的操作。
    每个 Statement 通常包含以下元素:
  • Effect:指定是允许(Allow)还是拒绝(Deny)访问。
  • Action:指定允许或拒绝的具体操作(例如:sqs:SendMessage、sqs:ReceiveMessage)。
  • Resource:指定策略应用的资源,即具体的 SQS 队列 ARN。
  • Principal:指定可以执行操作的用户、角色或服务。
  • Condition(可选):指定进一步限制访问权限的条件。
  1. 常见操作
    sqs:SendMessage:允许用户发送消息到队列。
    sqs:ReceiveMessage:允许用户从队列接收消息。
    sqs:DeleteMessage:允许用户从队列中删除消息。
    sqs:GetQueueAttributes:允许用户获取队列属性。
  2. 示例策略
    以下是一个示例策略,允许某个特定的 AWS 账户 ID(111122223333)向特定的 SQS 队列发送消息。
{"Version": "2012-10-17","Id": "ExamplePolicy","Statement": [{"Effect": "Allow","Principal": {"AWS": "arn:aws:iam::111122223333:root"},"Action": "sqs:SendMessage","Resource": "arn:aws:sqs:us-east-1:444455556666:MyQueue"}]
}
  1. 条件(Conditions)
    条件语句可以用来进一步限定访问权限。例如,您可以指定允许访问的时间段、来源 IP 地址,或者要求使用 HTTPS 来进行请求。

下面是一个包含条件的策略示例,它只允许从指定的 IP 地址范围内访问 SQS 队列:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": "sqs:SendMessage","Resource": "arn:aws:sqs:us-east-1:444455556666:MyQueue","Condition": {"IpAddress": {"aws:SourceIp": "192.168.1.0/24"}}}]
}
  1. 访问控制的最佳实践
    最小权限原则:只授予用户或服务所需的最低权限。
    使用 IAM Roles:在可能的情况下,使用 IAM 角色代替直接的用户访问,以提高安全性。
    定期审核策略:定期检查和更新策略,确保其符合当前的安全要求。
    通过访问策略,您可以精细地控制谁可以访问 SQS 队列及他们能够执行的操作,从而保障消息队列的安全性。

示例:如何为 DataLake Subscription 配置 SQS

要为 DataLake Subscription 配置 Amazon SQS,您需要执行以下步骤:

  • 创建 SQS 队列:首先,您需要在 AWS 管理控制台或使用 AWS SDK 创建一个 SQS 队列。
  • 配置 DataLake 订阅:将 DataLake 订阅配置为将事件发送到您创建的 SQS 队列。
  • 设置权限:确保 DataLake 有权限向您的 SQS 队列发送消息。

详细步骤

  1. 创建 一个 standard SQS 队列
    使用 AWS 管理控制台利用 CloudFormation 或 AWS SDK 创建一个新的 SQS 队列。
import boto3# 创建 SQS 客户端
sqs = boto3.client('sqs')# 创建队列
response = sqs.create_queue(QueueName='MyDataLakeQueue',Attributes={'DelaySeconds': '0','MessageRetentionPeriod': '86400'}
)queue_url = response['QueueUrl']
print(f"Queue created: {queue_url}")
  1. 配置 DataLake 订阅
    导航到 DataLake 服务并创建和配置一个订阅,将事件发送到您创建的 SQS 队列。

例如下面创建一个订阅,所有 collection “SMOKE2” 的 Create 事件都会发送到 target 为 arn:aws:sqs:us-east-1:123456789012:MyDataLakeQueue 的 SQS 队列

{"subscription-name": "my-userdoc-subscriptionsqs","filter": {"event-name": ["Object::Create"],"collection-id": ["SMOKE2"]},"targets": [{"type": "sqs","value": "arn:aws:sqs:us-east-1:123456789012:MyDataLakeQueue"}],"schema-version": ["v2"]
}
  1. 设置权限
    确保 DataLake 有权限向您的 SQS 队列发送消息。您需要为 SQS 队列配置适当的访问策略。

例如下面配置只有来自这个 resource “arn:aws:iam::123456789012:role/release-DataLake-EventPublish” 才有权限发送到这个 SQS。

{"Id": "AllowDataLakeEventsAccess","Version": "2012-10-17","Statement": [{"Sid": "AllowDataLakeEventsAccess","Effect": "Allow","Principal": {"AWS": "*"},"Action": "sqs:SendMessage","Resource": "<EndpointARN>","Condition": {"ArnEquals": {"aws:PrincipalArn": ["arn:aws:iam::123456789012:role/release-DataLake-EventPublish"]}}}]
}

将上述策略附加到您的 SQS 队列。您可以在 AWS 管理控制台中编辑队列的访问策略,或者使用 AWS SDK 更新队列的访问策略。

在这里插入图片描述

完成这些步骤后,您的 DataLake 订阅将被配置为将事件发送到指定的 SQS 队列。

http://www.hkea.cn/news/2472/

相关文章:

  • 网站域名在哪里申请品牌营销策划十大要点
  • 网站制作方案包括哪些内容正规的推文平台
  • 做域名不做网站可以吗深圳知名seo公司
  • 招聘网站建设人员条件品牌营销策划包括哪些内容
  • 网站域名证书怎么获取友情链接名词解释
  • 太原网站建设价格什么优化
  • 网站制作公司昆明swot分析
  • 个人养老金制度将推网站推广优化网址
  • 寺庙建设网站的意义2024年度关键词
  • 北京网站开发优选ls20227全国唯一一个没有疫情的城市
  • 那个网站做淘宝推广比较好免费二级域名生成网站
  • 网站空间租用费用网站的开发流程
  • 网站建设方面的文章网站快速有排名
  • wish网站应该怎么做淘宝优化标题都是用什么软件
  • 马来西亚做网站开封网站推广公司
  • 网站设计网站制作营销策划方案怎么写?
  • 口碑好网站建设定制百度浏览器app
  • centos6.6做网站网络营销推广手段
  • 厦门专业网站推广建站怎么让百度快速收录网站
  • 网站点击率多少正常企业网站推广方案的策划
  • 男朋友说是做竞彩网站维护的软文营销
  • php做的网站源代码在哪里互联网广告推广公司
  • 成都网站模板2023年广州疫情最新消息
  • 南宁网站提升排名seo黑帽技术工具
  • 网站建设情况检查报告网站服务费一年多少钱
  • 阿里网站如何做接入2024年4月新冠疫情结束了吗
  • 做婚恋交友类网站泰安seo
  • 网站建设公司生存关注公众号推广2元一个
  • 电商平面设计seo标题优化是什么意思
  • No酒店网站建设如何制作自己的网页链接