All Projects → mdbs99 → aws

mdbs99 / aws

Licence: MIT license
Object Pascal implementation for Amazon S3

Programming Languages

pascal
1382 projects

Projects that are alternatives of or similar to aws

benji
📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).
Stars: ✭ 18 (-73.13%)
Mutual labels:  amazon, bucket
aws2openapi
Amazon Web Services API description to OpenAPI 3.0 definition
Stars: ✭ 45 (-32.84%)
Mutual labels:  amazon, amazon-s3-storage
aws-lab-guide
Amazon Web Services Practice Lab Guide. Absolute beginners can try this lab practice guide.
Stars: ✭ 25 (-62.69%)
Mutual labels:  amazon, amazon-s3-storage
storage-abstraction
Provides an abstraction layer for interacting with a storage; the storage can be local or in the cloud.
Stars: ✭ 36 (-46.27%)
Mutual labels:  amazon, bucket
File Storage
File storage abstraction for Yii2
Stars: ✭ 116 (+73.13%)
Mutual labels:  amazon, bucket
Amazon-Price-Alert
Price tracker of Amazon
Stars: ✭ 83 (+23.88%)
Mutual labels:  amazon
android device amazon karnak
Android device tree for the Amazon Fire HD8 2018
Stars: ✭ 38 (-43.28%)
Mutual labels:  amazon
amazon wishlist pricewatch
Periodically check your public Amazon wishlist for price reductions.
Stars: ✭ 22 (-67.16%)
Mutual labels:  amazon
Holly-Quintet
A web app used for searching disks' covers from a series of music websites.
Stars: ✭ 22 (-67.16%)
Mutual labels:  amazon
s3-fuzzer
🔐 A concurrent, command-line AWS S3 Fuzzer. Written in Go.
Stars: ✭ 43 (-35.82%)
Mutual labels:  bucket
vpc-peering-operator
A Kubernetes Operator to manage the lifecycle of AWS VPC Peering Connections
Stars: ✭ 23 (-65.67%)
Mutual labels:  amazon
ShellRemoteBot
Shell remote control from telegram (SSH/terminal emulator)
Stars: ✭ 28 (-58.21%)
Mutual labels:  freepascal
bcrypt
BCrypt is a password hashing function
Stars: ✭ 138 (+105.97%)
Mutual labels:  freepascal
aws-codeguru-profiler-demo-application
Example application demonstrating the features of Amazon CodeGuru Profiler
Stars: ✭ 21 (-68.66%)
Mutual labels:  amazon
django-eb-sqs-worker
Django Background Tasks for Amazon Elastic Beanstalk
Stars: ✭ 27 (-59.7%)
Mutual labels:  amazon
terraform-aws-s3-bucket
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
Stars: ✭ 138 (+105.97%)
Mutual labels:  bucket
aws-ses-sns-dashboard
Dashboard for AWS SES notifications
Stars: ✭ 25 (-62.69%)
Mutual labels:  amazon
jcore
Some FPC classes and frameworks I have implemented so far
Stars: ✭ 26 (-61.19%)
Mutual labels:  freepascal
affiliate
Add affiliation tags to links automatically in the browser
Stars: ✭ 77 (+14.93%)
Mutual labels:  amazon
Selfhosted-Google-Photos-Alternative
A complete guide on exiting Google, Amazon or any proprietary service Photos storage with all the features you would want.
Stars: ✭ 143 (+113.43%)
Mutual labels:  amazon

AWS Lib is minimalist implementation, truly object-oriented and interface-based with immutable objects, for Amazon Web Services.

The code have some principles:

  1. all classes are sealed
  2. all methods return an interface or primitive type
  3. all public methods are implementations of interface methods
  4. all instances are immutable
  5. memory is released automatically

A "Bigger" Example using Amazon S3

Bellow you see a complete example to create a new Bucket and send a file on it.

program s3;
{$mode objfpc}{$H+}
uses
  aws_client,
  aws_s3;

begin
  TS3Service.New(
    TAWSClient.New(
      TAWSSignatureVersion1.New(
        TAWSCredentials.New('access_key', 'secret_key', True)
      )
    )
  )
  .Buckets
  .Put('mys3examplebucket', '/')
  .Objects
  .Put('foo.txt', 'plain', './foo.txt', '');
end.

First a Region object was created -- this is your connection to the Amazon services.

Second, using just one line, the code creates a new Bucket and put a new file on it.

No need to release memory!

To get this file that was sent, use the code:

  TS3Service.New(
    TAWSClient.New(
      TAWSSignatureVersion1.New(
        TAWSCredentials.New('access_key', 'secret_key', True)
      )
    )
  )
  .Buckets
  .Get('mys3examplebucket', '/')
  .Objects
  .Get('foo.txt', '/');
  .Stream
  .SaveToFile('./foo.txt');

To delete this file on server, use the code:

  TS3Service.New(
    TAWSClient.New(
      TAWSSignatureVersion1.New(
        TAWSCredentials.New('access_key', 'secret_key', True)
      )
    )
  )
  .Buckets
  .Get('mys3examplebucket', '/')
  .Objects
  .Delete('foo.txt');

Dependencies

There is only one dependency: Synapse

Synapse is used as HTTP client. You can customize or create a new client using another lib like lNet, fpHttpClient, whatever.

Got questions?

If you have questions or general suggestions, don't hesitate to submit a new Github issue.

Amazon S3 Documentation

License

Copyright (c) 2017 Marcos Douglas B. Santos

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].