将档案上传到 S3 Glacier - AWS SDK for JavaScript

帮助我们改进AWS SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

这些区域有:AWS SDK for JavaScriptV3 API 参考指南详细描述了所有的 API 操作AWS SDK for JavaScript版本 3 (V3)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将档案上传到 S3 Glacier

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何使用将档案上传到 Amazon S3 GlacieruploadArchiveS3 Glacier 服务对象的方法。

以下示例将上传单个内容:Buffer对象作为整个存档使用UploadArchiveCommandS3 Glacier 服务对象的方法。

该示例假设您已创建名为 VAULT_NAME 的文件库。SDK 会自动计算树哈希checksum但是,对于上传的数据,您可以通过传递您自己的校验和参数来覆盖它。

先决条件任

要设置和运行此示例,您必须先完成以下任务:

  • 设置项目环境以运行这些 Node TypeScript 示例,然后安装所需的AWS SDK for JavaScript以及第三方模块。按照上的说明操作GitHub.

  • 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证

重要

这些示例演示了如何使用 ECMASCRIPT6 (ES6) 导入/导出客户端服务对象和命令。

上传档案

创建libs创建文件名为的 Node.js 模块glacierClient.js. 将下面的代码复制并粘贴到其中,这将创建 S3 Glacier 客户端对象。Replace领域与您的AWS区域。

import { GlacierClient } from "@aws-sdk/client-glacier"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Glacier service object. const glacierClient = new GlacierClient({ region: REGION }); export { glacierClient };

可以找到以下示例代码:GitHub 上的这里.

创建文件名为 uploadArchive.js 的 Node.js 模块。将以下代码复制并粘贴到该文件中。

注意

ReplaceVAULT_NAME使用 S3 Glacier 保管库的名称。

// Load the SDK for JavaScript import { UploadArchiveCommand } from "@aws-sdk/client-glacier"; import { glacierClient } from "./libs/glacierClient.js"; // Set the parameters const vaultname = "VAULT_NAME"; // VAULT_NAME // Create a new service object and buffer const buffer = new Buffer.alloc(2.5 * 1024 * 1024); // 2.5MB buffer const params = { vaultName: vaultname, body: buffer }; const run = async () => { try { const data = await glacierClient.send(new UploadArchiveCommand(params)); console.log("Archive ID", data.archiveId); return data; // For unit tests. } catch (err) { console.log("Error uploading archive!", err); } }; run();

要运行该示例,请在命令提示符下输入以下内容。

node uploadArchive.js

可以找到以下示例代码:GitHub 上的这里.