#author("2019-05-09T02:24:45+00:00","","")
#mynavi(AWSメモ)
#setlinebreak(on);

* 目次 [#uf13510d]
#contents
- 参考
-- [[https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html]]
-- [[https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html]]

* 概要 [#ca7e569d]
#html(<div style="padding-left: 10px;">)
#html(</div>)

* 準備 [#o28a9ab3]
#html(<div style="padding-left: 10px;">)

** キューの作成 [#r749fef8]
#html(<div style="padding-left: 10px;">)
#html(</div>)

#html(</div>)

* 実装 [#i0bd24de]
#html(<div style="padding-left: 10px;">)

** メッセージ送信処理 [#f65d4603]
#html(<div style="padding-left: 10px;">)

sqs_send_messages.py
#mycode2(){{
# TODO
}}
#html(</div>)

** メッセージ受信処理 [#d04b5f8e]
#html(<div style="padding-left: 10px;">)

sqs_receive_messages.py
#mycode2(){{
import boto3

client = boto3.client('sqs')

response = client.get_queue_url(
    QueueName='string',
    QueueOwnerAWSAccountId='string'
)

response = client.receive_message(
    QueueUrl='string',
    AttributeNames=[
        'All'|'Policy'|'VisibilityTimeout'|'MaximumMessageSize'|'MessageRetentionPeriod'|'ApproximateNumberOfMessages'|'ApproximateNumberOfMessagesNotVisible'|'CreatedTimestamp'|'LastModifiedTimestamp'|'QueueArn'|'ApproximateNumberOfMessagesDelayed'|'DelaySeconds'|'ReceiveMessageWaitTimeSeconds'|'RedrivePolicy'|'FifoQueue'|'ContentBasedDeduplication'|'KmsMasterKeyId'|'KmsDataKeyReusePeriodSeconds',
    ],
    MessageAttributeNames=[
        'string',
    ],
    MaxNumberOfMessages=123,
    VisibilityTimeout=123,
    WaitTimeSeconds=123,
    ReceiveRequestAttemptId='string'
}}

#html(</div>)

サービスリソースを使用する場合
#html(<div style="padding-left: 10px;">)
sqs = boto3.resource('sqs')

queue = sqs.get_queue_by_name(
    QueueName='string',
    QueueOwnerAWSAccountId='string'
)

sqs = boto3.resource('sqs')
queue = sqs.Queue('url')

receive_messages

#html(</div>)

#html(</div>)

* 動作確認 [#ua272835]
#html(<div style="padding-left: 10px;">)

** WaitTimeSeconds = 0 の時 [#b5661f80]
#html(<div style="padding-left: 10px;">)
MaxNumberOfMessages
#html(</div>)


** WaitTimeSeconds = 10 の時 [#tad005fc]
#html(<div style="padding-left: 10px;">)
#html(</div>)

#html(</div>)

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS