{"id":24012896,"url":"https://github.com/glassechidna/awsiot","last_synced_at":"2025-04-15T08:41:22.875Z","repository":{"id":84300137,"uuid":"110166688","full_name":"glassechidna/awsiot","owner":"glassechidna","description":null,"archived":false,"fork":false,"pushed_at":"2017-11-09T21:44:57.000Z","size":5,"stargazers_count":7,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T18:12:01.284Z","etag":null,"topics":["aws","aws-sdk-go","golang","mqtt","websockets"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glassechidna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-09T21:11:00.000Z","updated_at":"2022-09-07T14:32:15.000Z","dependencies_parsed_at":"2023-06-18T15:34:41.351Z","dependency_job_id":null,"html_url":"https://github.com/glassechidna/awsiot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fawsiot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fawsiot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fawsiot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fawsiot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glassechidna","download_url":"https://codeload.github.com/glassechidna/awsiot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249038887,"owners_count":21202803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-sdk-go","golang","mqtt","websockets"],"created_at":"2025-01-08T06:22:54.898Z","updated_at":"2025-04-15T08:41:22.856Z","avatar_url":"https://github.com/glassechidna.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Why\n\nThe AWS SDK for Go doesn't yet support bidirectional message sending for the AWS\nIoT service - see [#706][gh706], [#820][gh820], [#1304][gh1304]. As such, I created \na _tiny_ library to fill the gap (at least as far as my needs extended) until AWS \nprovides this support.\n\n[gh706]: https://github.com/aws/aws-sdk-go/issues/706\n[gh820]: https://github.com/aws/aws-sdk-go/issues/820\n[gh1304]: https://github.com/aws/aws-sdk-go/issues/1304\n\n## How\n\nThis library's usage is modelled on how AWS API clients are used in the official\nlibrary. It should feel familiar to developers who have used those before. It \nreturns a URL string, which can be used to initialise a client in the \n`eclipse/paho.mqtt.golang` MQTT library.\n\n```go\npackage main\n\nimport (\n\tMQTT \"github.com/eclipse/paho.mqtt.golang\"\n\t\"github.com/aws/aws-sdk-go/aws/session\"\n\t\"github.com/aws/aws-sdk-go/aws/credentials/stscreds\"\n\t\"github.com/glassechidna/awsiot\"\n)\n\nfunc main() {\n\tsessOpts := session.Options{\n\t\tSharedConfigState: session.SharedConfigEnable,\n\t\tAssumeRoleTokenProvider: stscreds.StdinTokenProvider,\n\t}\n\n\tsess := session.Must(session.NewSessionWithOptions(sessOpts))\n\tiot := awsiot.New(sess)\n\ttheUrl, _ := iot.WebsocketUrl(\"a1kxjqeyezkt7\")\n\n\topts := MQTT.NewClientOptions().AddBroker(theUrl)\n\topts.SetClientID(\"clientid\")\n\tclient := MQTT.NewClient(opts)\n}\n``` \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglassechidna%2Fawsiot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglassechidna%2Fawsiot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglassechidna%2Fawsiot/lists"}