上传未经身份验证的文件

上传未经身份验证的文件

代码示例

Node.js

如需了解详情,请参阅 Cloud Storage Node.js API 参考文档

如需向 Cloud Storage 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';

// The contents that you want to upload
// const contents = 'these are my contents';

// The new ID for your GCS file
// const destFileName = 'your-new-file-name';

// Imports the Google Cloud Node.js client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

async function uploadWithoutAuthentication() {
  const file = storage.bucket(bucketName).file(destFileName);

  // Returns an authenticated endpoint to which
  // you can make requests without credentials.
  const [location] = await file.createResumableUpload(); //auth required

  const options = {
    uri: location,
    resumable: true,
    validation: false,

    // Optional:
    // Set a generation-match precondition to avoid potential race conditions
    // and data corruptions. The request to upload is aborted if the object's
    // generation number does not match your precondition. For a destination
    // object that does not yet exist, set the ifGenerationMatch precondition to 0
    // If the destination object already exists in your bucket, set instead a
    // generation-match precondition using its generation number.
    preconditionOpts: {ifGenerationMatch: generationMatchPrecondition},
  };

  // Passes the location to file.save so you don't need to
  // authenticate this call
  await file.save(contents, options);

  console.log(`${destFileName} uploaded to ${bucketName}`);
}

uploadWithoutAuthentication().catch(console.error);

后续步骤

如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器