FileMaker, AWS CLI, BaseElements and Mac OS

By

Share:

Simple way to interact with AWS CLI using FileMaker, BaseElements on Mac OS.

By passing the AWS key and secret in the command the problems with environment variables is solved – which makes troubleshooting from the command and BaseElements identical environments.

 

# AWS CLI for Mac

# $ brew install aws

# $ aws configure – brew install aws

# /Users/[user/.aws/credentials

# example is for download files from S3

# test with sample command on command line

# $ aws s3 cp s3://[bucket]/[filename] .

Set Variable [ $aws ; Value: “/usr/local/bin/aws s3 cp” ] 

Set Variable [ $access ; Value: “aws_access_key_id=XXX” ] 

Set Variable [ $secret ; Value: “aws_secret_access_key=XXX” ] 

Set Variable [ $s3bucket ; Value: “[bucket]” ] 

Set Variable [ $path ; Value: “[filename]” ] 

# 

Set Variable [ $source ; Value: “s3://” & $s3bucket & “/” & $path ] 

Set Variable [ $target ; Value: “/Users/[username]/Desktop/.” ] 

Set Variable [ $$command ; Value: $access & “; ” & $secret & “; ” & $aws & ” ” & $source & ” ” & $target ] 

# 

Set Variable [ $$download ; Value: BE_ExecuteSystemCommand ( $$command ) ] 

If [ not PatternCount ( $$download ; “Completed” ) ] 

Exit Script [ Text Result:    ] 

End If

# 

Show Custom Dialog [ “ALERT” ; $$download ] 

If [ Get(LastMessageChoice) = 2 ] 

Exit Script [ Text Result:    ] 

End If

# 

Set Variable [ $desktop ; Value: Get ( DesktopPath ) ] 

Set Variable [ $file ; Value: $desktop & $path ] 

Import Records [ With dialog: Off ; Table: [table] ; “$file” ; Add; UTF-8 ] 

Delete File [ Target file: “$file” ] 

Related Posts

Neo Code approach to Custom Software Development

Importance of Citizen Developers

Buy or Build? Top Tips on When to Invest in Custom Software

Optimizing FileMaker Custom Apps When Transitioning from LAN to Cloud

Filemaker 2023 Newest Updates

FileMaker Aging Receivables using ExecuteSQL

Book a Webinar

Join us at one of our 15-30 minute, free no-obligation information webinars. We’d love to see you there!