STS/SNS/SQS TEST 知识点
1
- 当使用者接收并处理来自某个队列的消息时,消息将保留在该队列中。Amazon SQS 不会自动删除消息。因为 Amazon SQS 是分布式系统,所以无法保证使用者实际收到消息(例如,由于连接问题或由于使用者应用程序问题)。因此,使用者在接收和处理消息后必须从队列中删除该消息。
- 在收到消息后,消息将立即保留在队列中。为防止其他使用者再次处理消息,Amazon SQS 设置了可见性超时,这是 Amazon SQS 防止其他使用者接收和处理消息的时间段。消息的默认可见性超时为 30 秒。最大值为 12 小时。
- 对于标准队列,可见性超时无法保证不会接收消息两次。
- 传输中的消息
- Amazon SQS 消息有三种基本状态:1. 创建者将消息发送到队列;2. 使用者从队列接收消息;以及 3. 从队列中删除消息。消息在 received from a queue by a consumer, but not yet deleted from the queue 后将被视为传输中 (即,介于状态 2 和 3 之间)。队列中介于状态 1 和 2 之间的消息没有数量上的限制。
- 对于 标准 队列,其传输中的消息的最大数目为 120000 (received from a queue by a consumer, but not yet deleted from the queue)。如果您达到此限制,Amazon SQS 将返回 OverLimit 错误消息。为避免达到此限制,您应该在处理消息后将其从队列中删除。您还可以增加用来处理消息的队列的数量。要请求提高上限,请登记支持请求。
- 对于 FIFO 队列,其传输中的消息的最大数目为 20000 (received from a queue by a consumer, but not yet deleted from the queue)。如果您达到此限制,Amazon SQS 不会返回任何错误消息。
- 终止消息的可见性超市
- 收到来自某个队列的某条消息时,您可能会发现,您实际上不想处理并删除该消息。Amazon SQS 允许您终止特定消息的可见性超时。这将使该消息对系统中的其他组件立即可见并且可用于处理。
2
- 长轮询降低成本:长轮询 通过消除空响应的数量 (ReceiveMessage 请求时没有消息可用时) 并消除假的空响应 (消息可用但未包含在响应中) 来帮助降低您使用 Amazon SQS 的成本。
- 长轮询具备以下好处:
- 在发送响应之前,允许 Amazon SQS 等到队列中的消息可用为止,从而消除空响应。除非连接超时,否则对 ReceiveMessage 请求的响应将至少包含一条可用的消息,并且最多包含 ReceiveMessage 操作中指定的最大数量的消息。
- 通过查询所有 — 服务器而不是服务器子集来消除假的空响应—Amazon SQS。
- 将多个消息batch批量化处理可以降低使用成本:SendMessageBatch、DeleteMessageBatch、ChangeMessageVisiableBatch
3
- SQS的SSE加密设置不是默认勾选的;
- 死信队列可用用来处理没有被处理解析的消息;
- 从指定的队列中删除消息,需要在ReceiptHandle中进行处理消息;
4
- AWS的git访问是采用静态的用户名和密码进行访问的;
- AssumeRole:Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token.
- 注意:You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.
- STS给你的是一个临时的、受限制的授信
- STS GetFederationToken:Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application.
5
- GetFederationToken:You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.
- You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.
6
- AssumeRoleWithSAML:Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.
7
- CloudTrail会监控SNS的调用相关信息;
8
- SNS支持的发送协议:HTTP、HTTPS、email、Email-json、SQS、application、Lambda、sms
9
- 在SNS消息订阅的时候可以设置policy中的filter,指定特定的消息发送给特定的人;
10
- SNS的消息属性如下
- 名称– 消息属性名称可以包含以下字符:A-Z、a-z、0-9、下划线 (_)、连字符 (-) 和句点 (.)。名称不得以句点开头或结尾,并且不应包含连续句点。名称区分大小写,且必须在消息的所有属性名称中是唯一的。名称最多可以有 256 个字符。名称不能以“AWS.”或“Amazon.”(或其他任何大小写变化形式)开头,这是因为这些前缀是预留供 Amazon Web Services 使用的。
- Type – 受支持的消息属性数据类型有 String、String.Array、Number 和 Binary。数据类型在内容方面具有与消息正文相同的限制。数据类型区分大小写,长度最多可以为 256 字节。想要了解更多信息,请参阅消息属性数据类型和验证部分。
- 值– 用户指定的消息属性值。对于字符串数据类型,值属性在内容方面具有与消息正文相同的限制。有关更多信息,请参阅Amazon Simple Notification Service API Reference 中的 Publish 操作。