@cumulus/checksum
Checksum
The @cumulus/checksum
library provides checksum functionality used by Cumulus
packages and tasks. Currently the supported input includes file streams, and
supported checksum algorithms include cksum
and the algorithms available to
the crypto
package, as documented
here.
Usage
const fs = require('fs');
const { generateChecksumFromStream } = require('@cumulus/checksum');
const stream = fs.createReadStream('myDataFile.hdf');
const myCksum = generateChecksumFromStream('cksum', stream);
API
checksum
checksum.generateChecksumFromStream(algorithm, stream, [options]) ⇒ Promise.<(number|string)>
Create file checksum from readable stream
Kind: static method of checksum
Returns: Promise.<(number|string)>
- the file checksum
Param | Type | Description |
---|
algorithm | string | Checksum algorithm type |
stream | stream.Readable | A readable file stream |
[options] | Object | Checksum options, see crypto.createHash() |
checksum.validateChecksumFromStream(algorithm, stream, expectedSum, [options]) ⇒ Promise.<boolean>
Validate expected checksum against calculated checksum
Kind: static method of checksum
Returns: Promise.<boolean>
- whether expectedSum === calculatedSum
Param | Type | Description |
---|
algorithm | string | Checksum algorithm |
stream | stream.Readable | A readable file stream |
expectedSum | number | string | expected checksum |
[options] | Object | Checksum options |
About Cumulus
Cumulus is a cloud-based data ingest, archive, distribution and management
prototype for NASA's future Earth science data streams.
Cumulus Documentation
Generated automatically using npm run build-docs
[v9.9.1] 2021-02-10 [BACKPORT]
Please note changes in 9.9.1 may not yet be released in future versions, as
this is a backport and patch release on the 9.9.x series of releases. Updates that
are included in the future will have a corresponding CHANGELOG entry in future
releases.
Fixed
- CUMULUS-2775
- Updated
@cumulus/api-client
to not log an error for 201 response from updateGranule
Changed
- Updated version of
@cumulus/cumulus-message-adapter-js
from 2.0.3
to 2.0.4
for
all Cumulus workflow tasks - CUMULUS-2775
- Changed
@cumulus/api-client/invokeApi()
to accept a single accepted status code or an array
of accepted status codes via expectedStatusCodes
- CUMULUS-2837
- Update process-s3-dead-letter-archive to unpack SQS events in addition to
Cumulus Messages
- Update process-s3-dead-letter-archive to look up execution status using
getCumulusMessageFromExecutionEvent (common method with sfEventSqsToDbRecords)
- Move methods in api/lib/cwSfExecutionEventUtils to
@cumulus/message/StepFunctions