Introduction
Hi, I'm miruky.
An EventBridge Scheduler one-time schedule invokes its target at one date and time. Completion alone does not remove the schedule from the Regional schedule quota, so the create flow offers a separate Action after schedule completion setting.
This Console run sends one-time-schedule-fired to a standard SQS queue, then verifies that a schedule configured with DELETE is absent after the invocation. The schedule uses Asia/Tokyo as its evaluation time zone while every AWS resource stays in N. Virginia.
EventBridge Scheduler and SQS meter usage separately. This run makes one scheduled invocation plus a small number of queue requests, but current free-tier eligibility depends on the account and monthly usage; check both pricing pages before repeating it.
1. Create the SQS target in N. Virginia
This run stays in us-east-1 from resource creation through verification. The schedule and its SQS target must remain in the intended Region throughout the run.
The header still shows United States (N. Virginia), so the Regional context is explicit before the queue is created.
With N. Virginia still visible in the header, open Amazon SQS, choose Create queue, and keep Standard selected. Enter miruky-fsashpslzjzefiib, review the encryption and access settings, and create the queue. I kept the default queue settings because the validation needs only one ordinary message.
The form visibly keeps Standard selected with the generated queue name.
The queue is only the target for one SendMessage call. It does not need a public access policy, an SNS subscription, or a Lambda consumer for this validation.
2. Define a one-time schedule
Open Amazon EventBridge Scheduler, choose Create schedule, and enter miruky-upzizvveloaxuyek. Keep the existing default schedule group instead of creating another resource.
Choose One-time schedule and set a date and time at least ten minutes ahead. I selected Asia/Tokyo as the time zone and turned the delivery window Off, so the review page showed one specific planned time rather than a delivery range.
The form now binds one date and time to Asia/Tokyo, and the delivery window reads Off.
The schedule time zone does not move the AWS resources to Tokyo. It only tells Scheduler how to interpret the date and clock time entered in this form; the schedule and queue remain in us-east-1.
3. Select the templated SQS target
Choose Next, select Templated targets, and choose Amazon SQS SendMessage. Select only the generated queue miruky-fsashpslzjzefiib from the target list.
The queue selector retains the generated queue name, while the account-scoped portion is masked in the saved image.
Scheduler accepts text input for this templated SQS target, so the message does not need a JSON wrapper. A fixed payload lets the received body be compared character for character. Enter the following plain-text payload:
one-time-schedule-fired
The editor contains the exact value one-time-schedule-fired.
This target type calls sqs:SendMessage. Scheduler needs an execution role with that permission for the selected queue; selecting a target does not let the service bypass IAM.
4. Enable automatic deletion and create the role
On Settings, leave the schedule enabled. Under Action after schedule completion, select DELETE rather than NONE.
The enabled toggle and DELETE selection are now fixed for this run.
Choose Create new role for this schedule and enter miruky-kkvefpaiwudhkxri as the role name.
The permissions panel uses the generated role name while leaving the existing-role option unselected.
The generated role carries the corresponding target permission for the selected SQS queue.
I left the optional dead-letter queue unset for this short validation. A production schedule should define failure handling that matches its retry window and the operational path for messages that exhaust retries.
5. Review the exact schedule behavior
Choose Next and read the review page from the schedule pattern through the target and settings. Confirm the one-time timestamp, Asia/Tokyo, delivery window Off, the generated SQS queue, enabled state, and action after completion DELETE.
The review repeats the one-time timestamp, time zone, delivery-window setting, and generated queue from the earlier steps. I then created the schedule before the planned time passed.
The exact-name row reports Enabled, so Scheduler has accepted the schedule and is waiting for the one-time invocation.
6. Verify the invocation and automatic removal
After the planned time, open miruky-fsashpslzjzefiib, choose Send and receive messages, and poll for messages. The received body should match the configured target input exactly.
The received body exactly matches one-time-schedule-fired, which confirms the target invocation rather than only the schedule configuration.
Return to the Scheduler list and filter by the full generated schedule name. After the completed invocation is processed, the exact-name result should reach zero because DELETE applies after the schedule's last target invocation.
The queue message and the absent schedule prove different parts of the run. The message confirms the target call, while the zero-result filter confirms that the completed one-time schedule no longer consumes schedule quota.
Wrap-up
This one-time schedule used three controls together: a specific evaluation time zone, a templated SQS target, and DELETE after completion. Removing the schedule automatically did not remove the target queue or the execution role; it affected only the Scheduler resource.
For longer-lived workloads, add a deliberate retry and dead-letter-queue design, keep the execution role scoped to the target, and monitor failed invocations instead of treating schedule disappearance as the only success signal.
Thanks for reading this far.
See you in the next one.
Disclosure: This article was written with AI assistance and independently verified against the linked primary sources and observed results.











Top comments (0)