認証なしでファイルをアップロードする

認証なしでファイルをアップロードする

コードサンプル

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 のサンプルをご覧ください。