用于 Swift AWS SDK 的便捷助手工具。
使用 Swift Package Manager 的 Swift 5.9 工具链。
AWS Extras 通过 Swift Package Manager 分发。要将其安装到项目中,请将其作为依赖项添加到您的 Package.swift
清单文件中
dependencies: [
.package(url: "https://github.com/Mobelux/swift-aws-extras.git", from: "0.1.0")
]
然后,将相关产品添加到任何需要访问该库的目标中
.product(name: "<product>", package: "swift-aws-extras"),
其中 <product>
是以下之一
EmailSender
Persistence
Secrets
初始化一个 EmailSender
let sender = try await EmailSenderFactory.live().make()
发送纯文本正文的电子邮件
let messageID = try await sender.send(
["recipient@mail.com"],
"sender@mail.com",
"Subject",
.text("Plain text email content")
)
发送包含纯文本和 HTML 的电子邮件
let messageID = try await sender.send(
["recipient@mail.com"],
"sender@mail.com",
"Subject",
.combined("Plain text email content", "<!doctype html>\n<html>...</html>")
)
将 AttributeValueConvertible
一致性添加到模型类型
struct MyModel: Codable {
let name: String
let value: Int
}
extension MyModel: AttributeValueConvertible {
var attributes: [String: AttributeValue] {
[
CodingKeys.name: .s(name),
CodingKeys.value: .n(String(value))
].attributeValues()
}
}
初始化 Persistence
let persistence = try await PersistenceFactory.make(
"us-east-1",
"TableName)
持久化模型实例
let model = MyModel(name: "foo", value: 42)
try await persistence.put(model)
使用区域初始化 Secrets
let secrets = Secrets.live(region: "us-east-1")
通过其 ID 检索密钥字符串
let secret = try await secrets.string("my-secret-id")
通过其 ID 检索密钥数据
let secret = try await secrets.data("my-secret-id")
检索多个密钥
let secrets = try await secrets.batch([
"my-secret-id",
"my-other-secret-id"
])