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 Storage에서 파일 다운로드
Azure 업로드Azure Blob Storage에 파일 업로드
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 Storage에서 파일 다운로드

Parameters:

NameTypeRequiredDefaultDescription
connection_stringstringNo-Azure Storage 연결 문자열 (env var AZURE_STORAGE_CONNECTION_STRING 사용)
containerstringYes-Azure Storage 연결 문자열 (env var 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 Storage에 파일 업로드

Parameters:

NameTypeRequiredDefaultDescription
file_pathstringYes-업로드할 로컬 파일 경로
connection_stringstringNo-업로드할 로컬 파일 경로
containerstringYes-Azure Storage 연결 문자열 (env var 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_linkstringGoogle 캘린더에서 이벤트를 보는 링크

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.