Filter pattern in awslogs contains single quotes?

シングルクオートを含む文字列、例えば、'sample'で、CloudWatch Logsを検索したいとき、フィルターパターンとして、"'sample'"を指定すると...

awslogs get ${LOG_GROUP} ALL --start ${START} --end ${END} -f "'sample'"

Oops! エラーになります。

Traceback (most recent call last):
  File "/opt/homebrew/bin/awslogs", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/awslogs/bin.py", line 210, in main
    getattr(logs, options.func)()
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/awslogs/core.py", line 219, in list_logs
    consumer()
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/awslogs/core.py", line 172, in consumer
    for event in generator():
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/awslogs/core.py", line 159, in generator
    response = self.client.filter_log_events(**kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/botocore/client.py", line 565, in _api_call
    return self._make_api_call(operation_name, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_1/libexec/lib/python3.12/site-packages/botocore/client.py", line 1021, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.errorfactory.InvalidParameterException: An error occurred (InvalidParameterException) when calling the FilterLogEvents operation: Invalid character(s) in term '''

\で、エスケープして、"\'sample\'"としても、

Oops! エラーになります。

その場合、%で囲んで正規表現とした上で、シングルクオートを文字コード\x27で指定するとよいです。

awslogs get ${LOG_GROUP} ALL --start ${START} --end ${END} -f "%\x27sample\x27%"