GitHub 上的 Delphi 社区现在可以使用一个新的相关开源项目:AWS SDK for Delphi。
https://github.com/landgraf-dev/aws-sdk-delphi
适用于 Delphi的 AWS 开发工具包 使 Delphi 开发人员能够轻松地使用 Amazon Web Services 并使用Amazon SES、Amazon SQS等构建可扩展的解决方案。它是一个基于官方AWS SDK for .NET的非官方 SDK。添加了一些精选的热门服务,很快就会添加更多服务。
关于亚马逊网络服务
来自亚马逊网络服务 (AWS)网站本身:“AWS 是世界上最全面、应用最广泛的云平台,从全球数据中心提供 200 多种功能齐全的服务。数以百万计的客户(包括发展最快的初创公司、大型企业和领先的政府机构)正在使用 AWS 来降低成本、提高敏捷性和加快创新速度。
AWS 为开发人员提供了用于发送通知 ( Amazon SNS )、发送和接收电子邮件 ( Amazon SES )、使用队列系统 ( Amazon SQS )、多个数据库系统(Amazon RDS、Amazon DynamoDB)、内存缓存(Amazon ElastiCache)的有用服务、内容交付网络 ( Amazon CloudFront )、存储(Amazon S3和Amazon Glacier)等等!
使用开发工具包
每个 Amazon Web 服务都有自己的包和单元名称方案,分别是 AWS<service>.dproj 和 AWS.<service>.*.pas。例如,对于 Amazon SQS(简单队列服务),包名称是 AWSSQS.dproj ,单元名称是 AWS.SQS.pas (并且包中的所有其他单元都遵循相同的模式,例如 AWS.SQS.Client.pas 或 AWS.SQS.ClientIntf.pas。
您需要的大多数类型都在主单元中,例如 AWS.SQS. 所以这是您使用大部分功能所需的唯一单元。从那里您可以访问所有可用的 API 操作。每个操作方法接收一个请求接口并返回一个响应接口。
以下示例从 SQS 队列接收消息并输出收到的每条消息的 id 和正文:
// 1. Use main unit
uses AWS.SQS;
procedure WriteMessageIds(const QueueUrl: string);
var
Client: IAmazonSQS;
Response: IReceiveMessageResponse;
Request: IReceiveMessageRequest;
Msg: AWS.SQS.TMessage;
begin
// 2. Instantiate client interface
Client := TAmazonSQSClient.Create;
// 3. Create and fill the request
Request := TReceiveMessageRequest.Create;
Request.QueueUrl := QueueUrl;
// 4. Call operation method passing the request to receive the response;
Response := Client.ReceiveMessage(Request);
// 5. Process the response
for Msg in Response.Messages do
begin
WriteLn(Msg.MessageId);
WriteLn(Msg.Body);
WriteLn;
end;
end;
以下示例使用指定的主题和消息将电子邮件发送到指定的地址:
// 1. Use main unit
uses AWS.SES;
procedure SendEmail(const Recipient, Subject, Content: string);
var
Client: IAmazonSimpleEmailService;
Request: ISendEmailRequest;
Response: ISendEmailResponse;
begin
// 2. Instantiate client interface
Client := TAmazonSimpleEmailServiceClient.Create;
// 3. Create and fill the request
Request := TSendEmailRequest.Create;
Request.Source := SenderEmail;
Request.Destination := TDestination.Create;
Request.Destination.ToAddresses.Add(Recipient);
Request.Message := TMessage.Create(
TContent.Create(Subject),
TBody.Create(TContent.Create(Content)));
// 4. Call operation method passing the request to receive the response;
Response := Client.SendEmail(Request);
// 5. Process the response
WriteLn(Response.MessageId);
end;
证书
适用于 Delphi 的 AWS 开发工具包按特定顺序搜索凭证并使用当前应用程序的第一个可用集。
凭据搜索顺序
在 AWS 服务客户端上显式设置的凭证,如下所述。
名称由 中的值指定的凭据配置文件 TAWSConfigs.AWSProfileName。
具有由AWS_PROFILE 环境变量指定的名称的凭据配置文件 。
[默认] 凭据配置文件。
将访问和秘密密钥直接传递给客户端
您可以直接在客户端构造函数中直接传递访问密钥 ID 和密钥:
客户端:= TAmazonSQSClient.Create(myAccessKey, mySecretKey);
虽然建议使用凭证配置文件,因为它更易于管理并且与AWS Command Line Interface兼容 。
欣赏和评论!
谢谢你一直陪着我。AWS 开发工具包的诞生是为了发展并使您可以访问整个 AWS 世界。它是 在具有 Commons Clause 许可的Apache 2.0下分发的 公平代码,并且需要 TMS Business,更具体地说是 TMS BCL 和 TMS Sparkle。因为人生苦短。请在此留下您的印象和评论,如果您对框架有任何建议,请随时使用项目的GitHub Issues 页面!
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.039803981781006 seconds