發表文章

目前顯示的是有「aws」標籤的文章

用CloudWatch定時產生Event丟檔案到S3

圖片
1. 建立S3 Bucket 建立後記得改後面的程式碼的var bucketName變數的值。 2. IAM新增Role  先在IAM新增一個role,連接AWSLambdaExecute政策,這個政策會包含可以在S3放檔案的權限。 3. 新增Lambda函數 選擇"從頭開始撰寫" 函數名稱,看你喜歡,我是設"myLambda" 執行時間,使用"Node.js 12.x" 選擇或建立執行角色,使用已存在角色,選擇步驟1所建立的Role。 放置Lambda程式碼 var AWS = require('aws-sdk'); var bucketName = '{your-bucket-name}'; function putFileToS3(key, body, callback) {     var s3 = new AWS.S3();     s3.putObject({Bucket: bucketName, Body: body, Key: key}, callback); } exports.handler = (event, context, callback) => {     console.log('my lambda');     console.log('Received event:', JSON.stringify(event, null, 2));     putFileToS3(event.id, JSON.stringify(event, null, 2),         (err, response) => {             if (err) {                 console.error(err);                 callback(err); ...

筆記:放置AWS安全登入資訊及存取金鑰

圖片
在閱讀 AWS 文件 後,得知需建立 存取金鑰(Access key) ,要注意事後若忘記 金鑰, AWS 也不會再提供 ,只能從主控台中產生新的 金鑰 ,並廢止前一組 金鑰。 我們可以在安全登入資料( security credentials page) 中建立根密鑰( root secret key) ,這個設定可從 Identity and Access Management (IAM) 進入。 由於直接從安全登入資料所建立的存取金鑰 是沒有限制存取資源的,所以 官方 建議要先建立一個 IAM user ,再創建這個使用者使用的存取金鑰,以便 限制存取的資源。 我可以在 AWS IAM user 中新增一個 使用者,並給予 必要 權限以方便後續測試。創建使用者後,點進去使用者細節,就可以在分頁"安全登入資料" 中 創建存取金鑰 。 建立時會像下面這樣,記得要下載,不然之後AWS也不會再提供了。你只能建立新的 AWS 安全登入資訊應放置得位置 Linux使用者為 ~/.aws/credentials  Windows 使用者則為  C:\Users\{YOUR_USER_NAME}\.aws\credentials [default] aws_access_key_id = YOUR_ACCESS_KEY_ID aws_secret_access_key = YOUR_SECRET_ACCESS_KEY