This, like the [[Reading from an S3 stream in Observable|S3]] article is very rough. It would be better to create a new class like the amazing [Athena Client class](https://observablehq.com/@chriszs/aws-athena-client)
```js
AwsPricingSDK = import("https://cdn.skypack.dev/@aws-sdk/client-pricing")
```
```js
AwsPricingClient = {
try {
return new AwsPricingSDK.PricingClient({
region,
credentials: {
accessKeyId: Secret("AWS_ACCESS_KEY_ID"),
secretAccessKey: Secret("AWS_SECRET_ACCESS_KEY")
}
})
} catch {
return false;
}
}
```
```js
params = ({
FormatVersion: "aws_v1",
MaxResults: 1,
ServiceCode: "AmazonEC2"
})
```
```js
await AwsPricingClient.send(
new AwsPricingSDK.DescribeServicesCommand(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
}))
```