Skip to content

Cloud Services

AWS S3, Azure Blob, Google Cloud Storage, and Google Workspace integrations.

14 modules

ModuleDescription
S3 刪除物件從 AWS S3 儲存桶刪除物件
S3 下載從 AWS S3 儲存桶下載檔案到本地路徑
S3 列出物件列出 AWS S3 儲存桶中的物件,可選擇性使用前綴過濾
S3 上傳上傳本地檔案到 AWS S3 儲存桶
AWS S3 下載從 AWS S3 儲存桶下載檔案
AWS S3 上傳上傳檔案或資料到 AWS S3 儲存桶
Azure 下載從 Azure Blob 儲存體下載檔案
Azure 上傳上傳檔案到 Azure Blob 儲存體
GCS 下載從 Google Cloud Storage 下載檔案
GCS 上傳上傳檔案到 Google Cloud Storage
行事曆建立事件在 Google 行事曆中建立新事件
行事曆列出事件列出 Google 行事曆中的即將舉行的事件
Gmail 搜尋使用 Gmail 搜尋語法搜尋 Gmail 訊息
Gmail 發送透過 Gmail API 發送電子郵件

Modules

S3 刪除物件

aws.s3.delete

從 AWS S3 儲存桶刪除物件

Parameters:

NameTypeRequiredDefaultDescription
bucketstringYes-S3 bucket name
keystringYes-S3 object key to delete
regionstringNous-east-1AWS region
access_key_idstringNo-AWS access key ID (falls back to env AWS_ACCESS_KEY_ID)
secret_access_keystringNo-AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY)

Output:

FieldTypeDescription
bucketstringS3 儲存桶名稱
keystring已刪除物件的鍵值
deletedboolean物件是否成功刪除

Example: Delete an object

yaml
bucket: my-bucket
key: uploads/old-file.txt

S3 下載

aws.s3.download

從 AWS S3 儲存桶下載檔案到本地路徑

Parameters:

NameTypeRequiredDefaultDescription
bucketstringYes-S3 bucket name
keystringYes-S3 object key (path in bucket)
output_pathstringYes-Local file path to save the downloaded file
regionstringNous-east-1AWS region
access_key_idstringNo-AWS access key ID (falls back to env AWS_ACCESS_KEY_ID)
secret_access_keystringNo-AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY)

Output:

FieldTypeDescription
pathstring檔案儲存的本地路徑
sizenumber檔案大小(位元組)
content_typestring下載檔案的 MIME 類型

Example: Download a file from S3

yaml
bucket: my-bucket
key: data/report.csv
output_path: /tmp/report.csv

S3 列出物件

aws.s3.list

列出 AWS S3 儲存桶中的物件,可選擇性使用前綴過濾

Parameters:

NameTypeRequiredDefaultDescription
bucketstringYes-S3 bucket name
prefixstringNo-Filter objects by key prefix (e.g. "uploads/")
max_keysnumberNo100Maximum number of objects to return
regionstringNous-east-1AWS region
access_key_idstringNo-AWS access key ID (falls back to env AWS_ACCESS_KEY_ID)
secret_access_keystringNo-AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY)

Output:

FieldTypeDescription
objectsarrayS3 物件列表
countnumber返回的物件數量
truncatedboolean結果是否被截斷

Example: List objects with prefix

yaml
bucket: my-bucket
prefix: uploads/
max_keys: 50

S3 上傳

aws.s3.upload

上傳本地檔案到 AWS S3 儲存桶

Parameters:

NameTypeRequiredDefaultDescription
bucketstringYes-S3 bucket name
keystringYes-S3 object key (path in bucket)
file_pathstringYes-Local file path to upload
regionstringNous-east-1AWS region
access_key_idstringNo-AWS access key ID (falls back to env AWS_ACCESS_KEY_ID)
secret_access_keystringNo-AWS secret access key (falls back to env AWS_SECRET_ACCESS_KEY)
content_typestringNo-MIME type of the file (auto-detected if not set)

Output:

FieldTypeDescription
bucketstringS3 儲存桶名稱
keystringS3 物件鍵值
urlstring已上傳物件的公開 URL
sizenumber檔案大小(位元組)

Example: Upload a local file

yaml
bucket: my-bucket
key: data/report.csv
file_path: /tmp/report.csv

AWS S3 下載

cloud.aws_s3.download

從 AWS S3 儲存桶下載檔案

Parameters:

NameTypeRequiredDefaultDescription
aws_access_key_idstringNo-AWS 存取金鑰 ID(預設使用 env.AWS_ACCESS_KEY_ID)
aws_secret_access_keystringNo-AWS 秘密存取金鑰(預設使用 env.AWS_SECRET_ACCESS_KEY)
regionstringNous-east-1AWS 區域(預設使用 env.AWS_REGION 或 us-east-1)
bucketstringYes-S3 儲存桶名稱
keystringYes-S3 儲存桶名稱
file_pathstringNo-S3 物件金鑰(儲存桶中的檔案路徑)

Output:

FieldTypeDescription
contentstringFile content (if file_path not provided)
file_pathstringPath where file was saved (if file_path provided)
sizenumberFile size in bytes
content_typestringMIME type of the file

Example: Download to memory

yaml
bucket: my-bucket
key: data/config.json

Example: Download to file

yaml
bucket: my-bucket
key: backups/database.sql
file_path: /tmp/downloaded.sql

AWS S3 上傳

cloud.aws_s3.upload

上傳檔案或資料到 AWS S3 儲存桶

Parameters:

NameTypeRequiredDefaultDescription
aws_access_key_idstringNo-AWS 存取金鑰 ID(預設使用 env.AWS_ACCESS_KEY_ID)
aws_secret_access_keystringNo-AWS 秘密存取金鑰(預設使用 env.AWS_SECRET_ACCESS_KEY)
regionstringNous-east-1AWS 區域(預設使用 env.AWS_REGION 或 us-east-1)
bucketstringYes-S3 儲存桶名稱
keystringYes-S3 儲存桶名稱
file_pathstringNo-S3 物件金鑰(儲存桶中的檔案路徑)
contentstringNo-要上傳的本機檔案路徑
content_typestringNo-檔案的 MIME 類型
aclstringNoprivate檔案的 MIME 類型

Output:

FieldTypeDescription
urlstring已上傳物件的 S3 URL
bucketstring已上傳物件的 S3 URL
keystring已上傳物件的 S3 URL
etagstring儲存桶名稱

Example: Upload text content

yaml
bucket: my-bucket
key: reports/daily-${timestamp}.txt
content: ${report_text}
content_type: text/plain

Example: Upload local file

yaml
bucket: my-bucket
key: backups/database.sql
file_path: /tmp/backup.sql
acl: private

Azure 下載

cloud.azure.download

從 Azure Blob 儲存體下載檔案

Parameters:

NameTypeRequiredDefaultDescription
connection_stringstringNo-Azure 儲存體連線字串(使用環境變數 AZURE_STORAGE_CONNECTION_STRING)
containerstringYes-Azure 儲存體連線字串(使用環境變數 AZURE_STORAGE_CONNECTION_STRING)
blob_namestringYes-Azure 容器名稱
destination_pathstringYes-要下載的 Blob

Output:

FieldTypeDescription
file_pathstringThe file path
sizenumberSize in bytes
containerstringThe container
blob_namestringThe blob name

Example: Download backup

yaml
container: backups
blob_name: data/backup-2024.zip
destination_path: /tmp/backup.zip

Example: Download image

yaml
container: images
blob_name: photos/vacation.jpg
destination_path: /tmp/photo.jpg

Azure 上傳

cloud.azure.upload

上傳檔案到 Azure Blob 儲存體

Parameters:

NameTypeRequiredDefaultDescription
file_pathstringYes-要上傳的本機檔案路徑
connection_stringstringNo-要上傳的本機檔案路徑
containerstringYes-Azure 儲存體連線字串(使用環境變數 AZURE_STORAGE_CONNECTION_STRING)
blob_namestringNo-Azure 容器名稱
content_typestringNo-上傳 Blob 的名稱(預設:檔案名稱)

Output:

FieldTypeDescription
urlstringMIME 類型(選填)
containerstringMIME 類型(選填)
blob_namestringURL 位址
sizenumber容器

Example: Upload image

yaml
file_path: /tmp/screenshot.png
container: images
blob_name: screenshots/2024/screenshot.png
content_type: image/png

Example: Upload document

yaml
file_path: /tmp/report.pdf
container: documents
blob_name: reports/monthly.pdf

GCS 下載

cloud.gcs.download

從 Google Cloud Storage 下載檔案

Parameters:

NameTypeRequiredDefaultDescription
bucketstringYes-GCS 儲存桶名稱
object_namestringYes-GCS 儲存桶名稱
destination_pathstringYes-要下載的物件

Output:

FieldTypeDescription
file_pathstringThe file path
sizenumberSize in bytes
bucketstringStorage bucket name
object_namestringObject name in storage

Example: Download backup

yaml
bucket: my-backups
object_name: data/backup-2024.zip
destination_path: /tmp/backup.zip

Example: Download image

yaml
bucket: image-storage
object_name: photos/vacation.jpg
destination_path: /tmp/photo.jpg

GCS 上傳

cloud.gcs.upload

上傳檔案到 Google Cloud Storage

Parameters:

NameTypeRequiredDefaultDescription
file_pathstringYes-要上傳的本機檔案路徑
bucketstringYes-要上傳的本機檔案路徑
object_namestringNo-GCS 儲存桶名稱
content_typestringNo-上傳物件的名稱(預設:檔案名稱)
publicbooleanNoFalseMIME 類型(選填)

Output:

FieldTypeDescription
urlstring是否公開存取
bucketstring是否公開存取
object_namestringURL 位址
sizenumber儲存桶名稱
public_urlstring儲存體中的物件名稱

Example: Upload image

yaml
file_path: /tmp/screenshot.png
bucket: my-bucket
object_name: screenshots/2024/screenshot.png
content_type: image/png
public: true

Example: Upload CSV data

yaml
file_path: /tmp/report.csv
bucket: data-backup
object_name: reports/daily.csv

行事曆建立事件

google.calendar.create_event

在 Google 行事曆中建立新事件

Parameters:

NameTypeRequiredDefaultDescription
access_tokenstringYes-Google OAuth2 access token with Calendar write scope
summarystringYes-Title of the calendar event
start_timestringYes-Event start time in ISO 8601 format
end_timestringYes-Event end time in ISO 8601 format
descriptionstringNo-Detailed description of the event
locationstringNo-Event location or meeting link
attendeesstringNo-Comma-separated list of attendee email addresses
timezonestringNoUTCTimezone for the event (IANA timezone)

Output:

FieldTypeDescription
event_idstring已建立的事件 ID
summarystring事件標題
startstring事件開始時間
endstring事件結束時間
html_linkstring查看事件的 Google 行事曆連結

Example: Create a meeting event

yaml
access_token: <oauth2-token>
summary: Sprint Planning
start_time: 2026-03-01T10:00:00
end_time: 2026-03-01T11:00:00
attendees: alice@example.com, bob@example.com
timezone: America/New_York

行事曆列出事件

google.calendar.list_events

列出 Google 行事曆中的即將舉行的事件

Parameters:

NameTypeRequiredDefaultDescription
access_tokenstringYes-Google OAuth2 access token with Calendar read scope
max_resultsnumberNo10Maximum number of events to return
time_minstringNo-Only return events starting after this time (ISO 8601). Defaults to now.
time_maxstringNo-Only return events starting before this time (ISO 8601)

Output:

FieldTypeDescription
eventsarray行事曆事件列表
countnumber返回的事件數量

Example: List next 5 events

yaml
access_token: <oauth2-token>
max_results: 5

Gmail 搜尋

google.gmail.search

使用 Gmail 搜尋語法搜尋 Gmail 訊息

Parameters:

NameTypeRequiredDefaultDescription
access_tokenstringYes-Google OAuth2 access token with Gmail read scope
querystringYes-Gmail search query (e.g. "from:user@example.com subject:invoice")
max_resultsnumberNo10Maximum number of messages to return

Output:

FieldTypeDescription
messagesarray符合的訊息列表
totalnumber返回的訊息總數

Example: Search for emails from a specific sender

yaml
access_token: <oauth2-token>
query: from:boss@company.com is:unread
max_results: 5

Gmail 發送

google.gmail.send

透過 Gmail API 發送電子郵件

Parameters:

NameTypeRequiredDefaultDescription
access_tokenstringYes-Google OAuth2 access token with Gmail send scope
tostringYes-Recipient email address
subjectstringYes-Email subject line
bodystringYes-Email body content
htmlbooleanNoFalseWhether the body is HTML content
ccstringNo-CC email address(es), comma-separated
bccstringNo-BCC email address(es), comma-separated

Output:

FieldTypeDescription
message_idstringGmail 訊息 ID
thread_idstringGmail 討論串 ID
tostring收件者電子郵件地址

Example: Send a plain text email

yaml
access_token: <oauth2-token>
to: user@example.com
subject: Test Email
body: Hello, this is a test email.

Released under the Apache 2.0 License.