From 75c34ff9143b05a21df6bf0cd247d6cb01f42e36 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 22:33:53 +0000 Subject: automatic import of python-cdk-tweet-queue --- .gitignore | 1 + python-cdk-tweet-queue.spec | 395 ++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 397 insertions(+) create mode 100644 python-cdk-tweet-queue.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..faea40a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/cdk-tweet-queue-2.0.285.tar.gz diff --git a/python-cdk-tweet-queue.spec b/python-cdk-tweet-queue.spec new file mode 100644 index 0000000..e55247d --- /dev/null +++ b/python-cdk-tweet-queue.spec @@ -0,0 +1,395 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cdk-tweet-queue +Version: 2.0.285 +Release: 1 +Summary: Defines an SQS queue with tweet stream from a search +License: Apache-2.0 +URL: https://github.com/eladb/cdk-tweet-queue +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/67/fc/976cd4ddbb6c7dadb3c9bc28ede737603c88fd5f0da778d7d0f10f527050/cdk-tweet-queue-2.0.285.tar.gz +BuildArch: noarch + +Requires: python3-aws-cdk-lib +Requires: python3-constructs +Requires: python3-jsii +Requires: python3-publication +Requires: python3-typeguard + +%description +# Tweet Queue for AWS CDK + +This is an [AWS CDK](https://github.com/awslabs/aws-cdk) construct library which +allows you to get a feed of Twitter search results into an SQS queue. It works +by periodically polling the freely available [Twitter Standard Search +API](https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html) and +sending all new tweets to an SQS queue. + +Inspired by +[@jlhood](https://github.com/awslabs/aws-serverless-twitter-event-source/commits?author=jlhood)'s +[aws-serverless-twitter-event-source](https://github.com/awslabs/aws-serverless-twitter-event-source) + +## Architecture + +![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/architecture.png) + +1. A CloudWatch Event Rule triggers the poller AWS Lambda function periodically +2. The poller reads the last checkpoint from a DynamoDB table (if exists) +3. The poller issues a Twitter search query for all new tweets +4. The poller enqueues all tweets to an SQS queue +5. The poller stores the ID of the last tweet into the DynamoDB checkpoint table. +6. Rinse & repeat. + +## Twitter API Keys + +To issue a Twitter search request, you will need to +[apply](https://developer.twitter.com/en/apply-for-access.html) for a Twitter +developer account, and obtain API keys through by defining a [new +application](http://twitter.com/oauth_clients/new). + +The Twitter API keys are read by the poller from an [AWS Secrets +Manager](https://aws.amazon.com/secrets-manager/) entry. The entry must contain +the following attributes: `consumer_key`, `consumer_secret`, `access_token_key` +and `access_token_secret` (exact names). + +1. Create a new AWS Secrets Manager entry for your API keys +2. Fill in the key values as shown below: + ![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/secretsmanager.png) +3. Store the key +4. Obtain the ARN of the secret (you will need it soon). + +## Usage + +Use `npm` to install the module in your CDK project. This will also add it to +your `package.json` file. + +```console +$ npm install cdk-tweet-queue +``` + +Add a `TweetQueue` to your CDK stack: + +```python +import { TweetQueue } from 'cdk-tweet-queue'; + +const queue = new TweetQueue(this, 'TweetStream', { + // this is the ARN of the secret you stored + secretArn: 'arn:aws:secretsmanager:us-east-1:1234567891234:secret:xxxxxxxxx' + + // twitter search query + // see https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators + query: '#awscdk', + + // optional properties + intervalMin: 60, // optional: polling interval in minutes + retentionPeriodSec: 60, // optional: queue retention period + visibilityTimeoutSec: 60, // optional: queue visilibity timeout +}); +``` + +Now, `queue` is an `sqs.Queue` object and can be used anywhere a queue is +accepted. For example, you could process the queue messages using an AWS Lambda +function by setting up an SQS event source mapping. + +## Development + +The project is managed by [projen](https://github.com/projen/projen) and offers the following commands: + +* `yarn projen` - Synthesize the project configuration. +* `yarn compile` - Compile all source code. +* `yarn test` - Run all tests. +* `yarn build` - Complie, test, and package the module. + +## Integration test + +There is also an integration test that can be executed by running the following commands. You will need to set the `TWEET_QUEUE_SECRET_ARN` environment variable in order for the test to be able to use your Twitter API keys. + +```console +$ yarn integ:deploy +``` + +Don't forget to destroy: + +```console +$ yarn integ:destroy +``` + +You can also run any cdk command on the integration test application by running: + +```console +yarn integ +``` + +## License + +Apache-2.0 + + +%package -n python3-cdk-tweet-queue +Summary: Defines an SQS queue with tweet stream from a search +Provides: python-cdk-tweet-queue +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cdk-tweet-queue +# Tweet Queue for AWS CDK + +This is an [AWS CDK](https://github.com/awslabs/aws-cdk) construct library which +allows you to get a feed of Twitter search results into an SQS queue. It works +by periodically polling the freely available [Twitter Standard Search +API](https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html) and +sending all new tweets to an SQS queue. + +Inspired by +[@jlhood](https://github.com/awslabs/aws-serverless-twitter-event-source/commits?author=jlhood)'s +[aws-serverless-twitter-event-source](https://github.com/awslabs/aws-serverless-twitter-event-source) + +## Architecture + +![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/architecture.png) + +1. A CloudWatch Event Rule triggers the poller AWS Lambda function periodically +2. The poller reads the last checkpoint from a DynamoDB table (if exists) +3. The poller issues a Twitter search query for all new tweets +4. The poller enqueues all tweets to an SQS queue +5. The poller stores the ID of the last tweet into the DynamoDB checkpoint table. +6. Rinse & repeat. + +## Twitter API Keys + +To issue a Twitter search request, you will need to +[apply](https://developer.twitter.com/en/apply-for-access.html) for a Twitter +developer account, and obtain API keys through by defining a [new +application](http://twitter.com/oauth_clients/new). + +The Twitter API keys are read by the poller from an [AWS Secrets +Manager](https://aws.amazon.com/secrets-manager/) entry. The entry must contain +the following attributes: `consumer_key`, `consumer_secret`, `access_token_key` +and `access_token_secret` (exact names). + +1. Create a new AWS Secrets Manager entry for your API keys +2. Fill in the key values as shown below: + ![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/secretsmanager.png) +3. Store the key +4. Obtain the ARN of the secret (you will need it soon). + +## Usage + +Use `npm` to install the module in your CDK project. This will also add it to +your `package.json` file. + +```console +$ npm install cdk-tweet-queue +``` + +Add a `TweetQueue` to your CDK stack: + +```python +import { TweetQueue } from 'cdk-tweet-queue'; + +const queue = new TweetQueue(this, 'TweetStream', { + // this is the ARN of the secret you stored + secretArn: 'arn:aws:secretsmanager:us-east-1:1234567891234:secret:xxxxxxxxx' + + // twitter search query + // see https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators + query: '#awscdk', + + // optional properties + intervalMin: 60, // optional: polling interval in minutes + retentionPeriodSec: 60, // optional: queue retention period + visibilityTimeoutSec: 60, // optional: queue visilibity timeout +}); +``` + +Now, `queue` is an `sqs.Queue` object and can be used anywhere a queue is +accepted. For example, you could process the queue messages using an AWS Lambda +function by setting up an SQS event source mapping. + +## Development + +The project is managed by [projen](https://github.com/projen/projen) and offers the following commands: + +* `yarn projen` - Synthesize the project configuration. +* `yarn compile` - Compile all source code. +* `yarn test` - Run all tests. +* `yarn build` - Complie, test, and package the module. + +## Integration test + +There is also an integration test that can be executed by running the following commands. You will need to set the `TWEET_QUEUE_SECRET_ARN` environment variable in order for the test to be able to use your Twitter API keys. + +```console +$ yarn integ:deploy +``` + +Don't forget to destroy: + +```console +$ yarn integ:destroy +``` + +You can also run any cdk command on the integration test application by running: + +```console +yarn integ +``` + +## License + +Apache-2.0 + + +%package help +Summary: Development documents and examples for cdk-tweet-queue +Provides: python3-cdk-tweet-queue-doc +%description help +# Tweet Queue for AWS CDK + +This is an [AWS CDK](https://github.com/awslabs/aws-cdk) construct library which +allows you to get a feed of Twitter search results into an SQS queue. It works +by periodically polling the freely available [Twitter Standard Search +API](https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html) and +sending all new tweets to an SQS queue. + +Inspired by +[@jlhood](https://github.com/awslabs/aws-serverless-twitter-event-source/commits?author=jlhood)'s +[aws-serverless-twitter-event-source](https://github.com/awslabs/aws-serverless-twitter-event-source) + +## Architecture + +![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/architecture.png) + +1. A CloudWatch Event Rule triggers the poller AWS Lambda function periodically +2. The poller reads the last checkpoint from a DynamoDB table (if exists) +3. The poller issues a Twitter search query for all new tweets +4. The poller enqueues all tweets to an SQS queue +5. The poller stores the ID of the last tweet into the DynamoDB checkpoint table. +6. Rinse & repeat. + +## Twitter API Keys + +To issue a Twitter search request, you will need to +[apply](https://developer.twitter.com/en/apply-for-access.html) for a Twitter +developer account, and obtain API keys through by defining a [new +application](http://twitter.com/oauth_clients/new). + +The Twitter API keys are read by the poller from an [AWS Secrets +Manager](https://aws.amazon.com/secrets-manager/) entry. The entry must contain +the following attributes: `consumer_key`, `consumer_secret`, `access_token_key` +and `access_token_secret` (exact names). + +1. Create a new AWS Secrets Manager entry for your API keys +2. Fill in the key values as shown below: + ![](https://github.com/eladb/cdk-tweet-queue/raw/master/images/secretsmanager.png) +3. Store the key +4. Obtain the ARN of the secret (you will need it soon). + +## Usage + +Use `npm` to install the module in your CDK project. This will also add it to +your `package.json` file. + +```console +$ npm install cdk-tweet-queue +``` + +Add a `TweetQueue` to your CDK stack: + +```python +import { TweetQueue } from 'cdk-tweet-queue'; + +const queue = new TweetQueue(this, 'TweetStream', { + // this is the ARN of the secret you stored + secretArn: 'arn:aws:secretsmanager:us-east-1:1234567891234:secret:xxxxxxxxx' + + // twitter search query + // see https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators + query: '#awscdk', + + // optional properties + intervalMin: 60, // optional: polling interval in minutes + retentionPeriodSec: 60, // optional: queue retention period + visibilityTimeoutSec: 60, // optional: queue visilibity timeout +}); +``` + +Now, `queue` is an `sqs.Queue` object and can be used anywhere a queue is +accepted. For example, you could process the queue messages using an AWS Lambda +function by setting up an SQS event source mapping. + +## Development + +The project is managed by [projen](https://github.com/projen/projen) and offers the following commands: + +* `yarn projen` - Synthesize the project configuration. +* `yarn compile` - Compile all source code. +* `yarn test` - Run all tests. +* `yarn build` - Complie, test, and package the module. + +## Integration test + +There is also an integration test that can be executed by running the following commands. You will need to set the `TWEET_QUEUE_SECRET_ARN` environment variable in order for the test to be able to use your Twitter API keys. + +```console +$ yarn integ:deploy +``` + +Don't forget to destroy: + +```console +$ yarn integ:destroy +``` + +You can also run any cdk command on the integration test application by running: + +```console +yarn integ +``` + +## License + +Apache-2.0 + + +%prep +%autosetup -n cdk-tweet-queue-2.0.285 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cdk-tweet-queue -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 2.0.285-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..fe7d254 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +cd8f0ca07dadbf2bb2a87a489e858c8d cdk-tweet-queue-2.0.285.tar.gz -- cgit v1.2.3