This package has been deprecated

Author message:

The package @aws-sdk/client-marketplace-metering-browser has been renamed to @aws-sdk/client-marketplace-metering. Please install the renamed package.

@aws-sdk/client-marketplace-metering-browser
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-preview.2 • Public • Published

@aws-sdk/client-marketplace-metering-browser

NPM version NPM downloads

Description

AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance.

  • BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application.

Accepting New Customers

  • ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code.

Entitlement and Metering for Paid Container Products

  • Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Calling RegisterUsage from containers running outside of Amazon Elastic Container Service (Amazon ECR) isn't supported. Free and BYOL products for ECS aren't required to call RegisterUsage, but you can do so if you want to receive usage data in your seller reports. For more information on using the RegisterUsage operation, see Container-Based Products.

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide .

Installing

To install the this package using NPM, simply type the following into a terminal window:

npm install @aws-sdk/client-marketplace-metering-browser

Getting Started

Import

The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(MarketplaceMeteringClient) and the commands you need, for example BatchMeterUsageCommand:

//JavaScript
const {
  MarketplaceMeteringClient
} = require("@aws-sdk/client-marketplace-metering-browser/MarketplaceMeteringClient");
const {
  BatchMeterUsageCommand
} = require("@aws-sdk/client-marketplace-metering-browser/commands/BatchMeterUsageCommand");
//TypeScript
import { MarketplaceMeteringClient } from "@aws-sdk/client-marketplace-metering-browser/MarketplaceMeteringClient";
import { BatchMeterUsageCommand } from "@aws-sdk/client-marketplace-metering-browser/commands/BatchMeterUsageCommand";

Usage

To send a request, you:

  • Initiate client with configuration (e.g. credentials, region). For more information you can refer to the API reference.
  • Initiate command with input parameters.
  • Call send operation on client with command object as input.
  • If you are using a custom http handler, you may call destroy() to close open connections.
const marketplaceMetering = new MarketplaceMeteringClient({region: 'region'});
//clients can be shared by different commands
const params = {
  UsageRecords: [ /**a list of structure*/ ],
  ProductCode: /**a string value*/,
};
const batchMeterUsageCommand = new BatchMeterUsageCommand(params);
marketplaceMetering.send(batchMeterUsageCommand).then(data => {
    // do something
}).catch(error => {
    // error handling
})

In addition to using promises, there are 2 other ways to send a request:

// async/await
try {
  const data = await marketplaceMetering.send(batchMeterUsageCommand);
  // do something
} catch (error) {
  // error handling
}
// callback
marketplaceMetering.send(batchMeterUsageCommand, (err, data) => {
  //do something
});

The SDK can also send requests using the simplified callback style from version 2 of the SDK.

import * as AWS from "@aws-sdk/@aws-sdk/client-marketplace-metering-browser/MarketplaceMetering";
const marketplaceMetering = new AWS.MarketplaceMetering({ region: "region" });
marketplaceMetering.batchMeterUsage(params, (err, data) => {
  //do something
});

Troubleshooting

When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).

try {
  const data = await marketplaceMetering.send(batchMeterUsageCommand);
  // do something
} catch (error) {
  const metadata = error.$metadata;
  console.log(
    `requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
  );
  /*
The keys within exceptions are also parsed. You can access them by specifying exception names:
    if(error.name === 'SomeServiceException') {
        const value = error.specialKeyInException;
    }
*/
}

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

  • Ask a question on StackOverflow and tag it with aws-sdk-js
  • Come join the AWS JavaScript community on gitter
  • If it turns out that you may have found a bug, please open an issue

Contributing

This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-marketplace-metering-browser' package is updated. To contribute to SDK you can checkout our code generator package.

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

Readme

Keywords

none

Package Sidebar

Install

npm i @aws-sdk/client-marketplace-metering-browser

Weekly Downloads

7

Version

0.1.0-preview.2

License

Apache-2.0

Unpacked Size

138 kB

Total Files

218

Last publish

Collaborators

  • mattsb42-aws
  • kuhe
  • amzn-oss
  • aws-sdk-bot
  • trivikr-aws