当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript aws-sdk.S3类代码示例

本文整理汇总了TypeScript中aws-sdk.S3的典型用法代码示例。如果您正苦于以下问题:TypeScript S3类的具体用法?TypeScript S3怎么用?TypeScript S3使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了S3类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: returnPdf

  // Returns the S3 url or local file path
  async returnPdf(options?: PdfOptions): Promise<string> {
    const data = await pdf(this.client, options)

    // check if S3 configured
    if (
      process.env['CHROMELESS_S3_BUCKET_NAME'] &&
      process.env['CHROMELESS_S3_BUCKET_URL']
    ) {
      const s3Path = `${cuid()}.pdf`
      const s3 = new AWS.S3()
      await s3
        .putObject({
          Bucket: process.env['CHROMELESS_S3_BUCKET_NAME'],
          Key: s3Path,
          ContentType: 'application/pdf',
          ACL: 'public-read',
          Body: new Buffer(data, 'base64'),
        })
        .promise()

      return `https://${process.env['CHROMELESS_S3_BUCKET_URL']}/${s3Path}`
    } else {
      // write to `${os.tmpdir()}` instead
      const filePath = path.join(os.tmpdir(), `${cuid()}.pdf`)
      fs.writeFileSync(filePath, Buffer.from(data, 'base64'))

      return filePath
    }
  }
开发者ID:xw616525957,项目名称:chromeless,代码行数:30,代码来源:local-runtime.ts

示例2: returnScreenshot

  // Returns the S3 url or local file path
  async returnScreenshot(): Promise<string> {
    const data = await screenshot(this.client)

    // check if S3 configured
    if (process.env['CHROMELESS_S3_BUCKET_NAME'] && process.env['CHROMELESS_S3_BUCKET_URL']) {
      const s3Path = `${cuid()}.png`
      const s3 = new AWS.S3()
      await s3.putObject({
        Bucket: process.env['CHROMELESS_S3_BUCKET_NAME'],
        Key: s3Path,
        ContentType: 'image/png',
        ACL: 'public-read',
        Body: new Buffer(data, 'base64'),
      }).promise()

      return `https://${process.env['CHROMELESS_S3_BUCKET_URL']}/${s3Path}`
    }

    // write to `/tmp` instead
    else {
      const filePath = `/tmp/${cuid()}.png`
      fs.writeFileSync(filePath, Buffer.from(data, 'base64'))

      return filePath
    }
  }
开发者ID:KhaledNobani,项目名称:chromeless,代码行数:27,代码来源:local-runtime.ts

示例3: Promise

 return new Promise((resolve, reject) => {
   const s3 = new AWS.S3({
     accessKeyId, secretAccessKey,
     region: region || 'ap-northeast-1',
     apiVersion: '2006-03-01'
   });
   return s3.getObject({ Bucket: bucket, Key: key }, (error, data) => {
     if (error) {
       reject(error);
     } else {
       resolve(JSON.parse(data.Body));
     }
   });
 });
开发者ID:bouzuya,项目名称:alertwil,代码行数:14,代码来源:s3.ts

示例4: deploy

 async deploy(args) {
   this._s3 = new (this._getAWS(this.resources)).S3();
   let bucket = this.resources.target;
   let source = path.resolve(this.resources.source);
   this.bucket = bucket;
   this.source = source;
   console.log("Deploy", source, "on S3 Bucket", bucket);
   await this.createBucket(bucket);
   let files = Finder.from(source).findFiles();
   // Should implement multithread here - cleaning too
   for (let i in files) {
     let file = files[i];
     let key = path.relative(source, file);
     // Need to have mimetype to serve the content correctly
     let mimetype = mime.contentType(path.extname(file));
     await this._s3
       .putObject({
         Bucket: bucket,
         Body: fs.createReadStream(file),
         Key: key,
         ContentType: mimetype
       })
       .promise();
     console.log("Uploaded", file, "to", key, "(" + mimetype + ")");
   }
   if (!this.resources.staticWebsite) {
     return;
   }
   await this._createWebsite();
 }
开发者ID:loopingz,项目名称:webda-shell,代码行数:30,代码来源:s3.ts

示例5: runS3Script

 runS3Script(cb: {(err: Error | null, res: any)}) {
   this.s3.getObject({Bucket: this.bucket!, Key: this.scriptUrl!}, (err, resp) => {
     if (err) return cb(err, null)
     const script = resp.Body.toString('utf8')
     this.runScript(script, cb)
   })
 }
开发者ID:instructure,项目名称:ftl-engine,代码行数:7,代码来源:script.ts

示例6: storeImage

  public storeImage(buffer: Buffer): Promise<string> {
    const key = this.randomPath()
    const region = process.env.SLACKBOT_S3_BUCKET_REGION
    const domain = region && (region !== "us-east-1") ?
      `s3-${process.env.SLACKBOT_S3_BUCKET_REGION}.amazonaws.com`
    :
      "s3.amazonaws.com"

    const params = {
      ACL: "public-read",
      Body: buffer,
      Bucket: process.env.SLACKBOT_S3_BUCKET,
      ContentType: "image/png",
      Key: key,
    }

    const s3 = new AWS.S3({
      endpoint: new AWS.Endpoint(domain) as any,
    })

    return new Promise<string>((resolve, reject) => {
      s3.putObject(params, (err, data) => {
        if (err) {
          reject(`S3 Error: ${err.message}`)
        } else {
          resolve(`https://${domain}/${params.Bucket}/${key}`)
        }
      })
    })

  }
开发者ID:DipJar,项目名称:looker-slackbot,代码行数:31,代码来源:amazon_s3_store.ts

示例7: saveToS3

 async saveToS3(id, manifest) {
   const s3 = new S3();
   return new Promise((resolve, reject) => {
     s3.upload({ Body: JSON.stringify(manifest), Bucket: this.registryBucket, Key: id}, (err, res) => {
       if (err) return reject(err);
       resolve(res);
     })
   });
 }
开发者ID:tbtimes,项目名称:lede-cli,代码行数:9,代码来源:default.fetcher.ts

示例8: getPublicUrl

 /**
  * Fetch a public url for the resource.
  */
 private getPublicUrl(key: string) {
   return this.s3.getSignedUrl('getObject', {
     Bucket: getConfig().BUCKET_NAME,
     Key: key,
     Expires: 24 * 60 * 30,
   });
 }
开发者ID:terrylau2013,项目名称:voice-web,代码行数:10,代码来源:bucket.ts

示例9: Promise

 return new Promise((resolve, reject) => {
   s3.getObject({ Bucket, Key })
     .on("httpDone", x => {
       resolve(JSON.parse(x.httpResponse.body.toString()));
     })
     .send();
 });
开发者ID:tbtimes,项目名称:lede-cli,代码行数:7,代码来源:default.fetcher.ts

示例10: Promise

 return new Promise((ok, fail) => {
   s3.putObject(args, (err, data) => {
     if (err) {
       return fail(err);
     }
     ok();
   });
 });
开发者ID:colinmathews,项目名称:s3-append,代码行数:8,代码来源:s3-consolidator.ts


注:本文中的aws-sdk.S3类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。