Go to file
1708639776959.sdtroot fcaa2a5f8c Commit message 2024-04-23 10:43:12 +09:00
README.md first commit 2024-03-05 17:44:46 +09:00
config.json first commit 2024-03-05 17:44:46 +09:00
framework.yaml Commit message 2024-04-23 10:43:12 +09:00
main.py first commit 2024-03-05 17:44:46 +09:00
requirements.txt Update requirements.txt 2024-03-26 06:46:35 +00:00
text.txt first commit 2024-03-05 17:44:46 +09:00

README.md

이 코드 템플릿은 SDT Cloud 환경에서 s3에 파일을 업로드하고 MQTT 메세지를 발행하는 코드입니다.

패키지 설치

  • 코드는 sdtclouds3, sdtcloudpubsub 패키지를 사용합니다. 아래 명령어로 패키지를 다운로드 해야합니다.
$ pip install sdtclouds3 sdtcloudpubsub

환경 셋팅

  • 코드를 실행하기 전에, 장비에 sdtcloud 로그인 작업을 수행해야 합니다.
sudo bwc-cli login

코드 작성

s3 코드 작성

  • 코드는 runAction 함수에서 동작하고자 하는 기능을 작성합니다.
  • uploadFile 변수는 s3에 업로드할 파일의 위치입니다. 반드시 파일의 위치와 파일명을 함께 작성해야 합니다.
uploadFile = "filepath/text.txt"
  • 업로드가 완료되면 파일의 URL 값이 반환됩니다.
result = sdtcloudClient.uploadData(uploadFile, "")
print(result)
----------
 https://<s3_bucket>/path/text.txt
  • 만약 업로드하는 파일이 PNG 파일이며, URL를 클릭했을 때 이미지가 바로 보이도록 설정하고 싶다면 다음과 같이 수정합니다.
result = sdtcloudClient.uploadData(uploadFile, {“ContentType”: “image/png”})

mqtt 코드 작성

  • 다음 변수로 메세지를 발행하는 코드를 작성하면...
msg = { 
    "message": "Hello World",
    "uploadFile": result
}
  • 실제로 발행되는 메세지은 다음과 같습니다.
msg = { 
    "data": {
        "message": "Hello World",
        "uploadFile": "https://<s3_bucket>/path/text.txt"
    },
    "timestamp": 12312311...
}