NAME

CPAN::Testers::Metabase::AWS - Metabase backend on Amazon Web Services

VERSION

version 1.999002

SYNOPSIS

Direct usage

  use CPAN::Testers::Metabase::AWS;

  my $mb = CPAN::Testers::Metabase::AWS->new( 
    bucket    => 'myS3bucket',
    namespace => 'prod' 
  );

  $mb->public_librarian->search( %search spec );
  ...

Metabase::Web config

---
Model::Metabase:
  class: CPAN::Testers::Metabase::AWS
    args:
      bucket: myS3bucket
      namespace: prod

DESCRIPTION

This class instantiates a Metabase backend on the S3 and SimpleDB Amazon Web Services (AWS). It uses Net::Amazon::Config to provide user credentials and the Metabase::Gateway Role to provide actual functionality. As such, it is mostly glue to get the right credentials to setup AWS clients and provide them with standard resource names.

For example, given the bucket "example" and the namespace "alpha", the following resource names would be used:

  Public S3: http://example.s3.amazonaws.com/metabase/alpha/public/*
  Public SDB domain: example.metabase.alpha.public

  Private S3: http://example.s3.amazonaws.com/metabase/alpha/private/*
  Private SDB domain: example.metabase.alpha.private

USAGE

new

my $mb = CPAN::Testers::Metabase::AWS->new( 
  bucket    => 'myS3bucket',
  namespace     => 'prod', 
  profile_name  => 'cpantesters',
);

Arguments for new:

  • bucket -- required -- the Amazon S3 bucket name to hold both public and private fact content. Bucket names must be unique across all of AWS. The bucket name is also used as part of the SimpleDB namespace for consistency.

  • namespace -- required -- a short phrase that uniquely identifies this metabase. E.g. "dev", "test" or "prod". It is used to specify specific locations within the S3 bucket and to uniquely identify a SimpleDB domain for indexing.

  • amazon_config -- optional -- a Net::Amazon::Config object containing Amazon Web Service credentials. If not provided, one will be created using the default location for the config file.

  • profile_name -- optional -- the name of a profile for use with Net::Amazon::Config. If not provided, it defaults to 'cpantesters'.

access_key_id

Returns the AWS Access Key ID.

secret_access_key

Returns the AWS Secret Access Key

Metabase::Gateway Role

This class does the Metabase::Gateway role, including the following methods:

  • handle_submission

  • handle_registration

  • enqueue

see Metabase::Gateway for more.

SEE ALSO

SUPPORT

Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Testers-Metabase-AWS. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

https://github.com/dagolden/cpan-testers-metabase-aws

git clone https://github.com/dagolden/cpan-testers-metabase-aws.git

AUTHOR

David Golden <dagolden@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by David Golden.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004