Java
1 - Install java and maven
2 - go to project directory and enter the command
mvn archetype:generate \
-DarchetypeGroupId=software.amazon.awssdk \
-DarchetypeArtifactId=archetype-app-quickstart \
-DarchetypeVersion=2.18.16
Enter the prompt values
Prompt | Value to enter |
---|---|
Define value for property 'service': | s3 |
Define value for property 'httpClient': | apache-client |
Define value for property 'nativeImage': | false |
Define value for property 'groupId': | org.example |
Define value for property 'artifactId': | getstarted |
Define value for property 'version' 1.0-SNAPSHOT: | <Enter> |
Define value for property 'package' org.example: | <Enter> |
3 - your project directory would look something like this
|----getstarted
├── README.md
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── org
│ │ └── example
│ │ ├── App.java
│ │ ├── DependencyFactory.java
│ │ └── Handler.java
│ └── resources
│ └── simplelogger.properties
└── test
└── java
└── org
└── example
└── HandlerTest.java
10 directories, 7 files
your app.java file
package org.example;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App {
private static final Logger logger =
LoggerFactory.getLogger(App.class);
public static void main(String... args) {
logger.info("Application starts");
Handler handler = new Handler();
//you can call function of handler through handler object
logger.info("Application ends");
}
}
4 - make connection with the EQS client
To make the connection with the EQS client , you need to pass configurations and credentials.
Configurations-
region_name- your_region
endpoint_url - eqs_endpoint_url (provided by e2e networks eqs service)
Credentials-
aws_access_key_id - your_access_key_id
aws_secret_key_id - your_secret_key_id
Make connection with EQS
There are many ways to provide credentials and configuration to connect with EQS service -
a) providing credentials directly to client object -
warning - Hardcoded credentials in application is not recommended
Update your DependencyFactory.java file
package org.example;
import java.net.URI;
import software.amazon.awssdk.auth.credentials.*;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sqs.*;
public class DependencyFactory {
private DependencyFactory() {}
public static SqsClient sqsClient() {
AwsCredentialscredentials=AwsBasicCredentials.create(“your_
access_key_id”, “your_secret_access_key”);
URI endpointUri = URI.create("your e2e eqs access url");
Region region = Region.of("elasticmq");
SqsClient eqs_client = SqsClient.builder()
.credentialsProvider(StaticCredentialProvider.create(credentials))
.endpointOverride(endpointUri)
.region(region)
.build();
return eqs_client;
}
}
b) you can put credentials and configurations in the config and credentials file , and these files should be located at ~/.aws/config, ~/.aws/credentials location, client will automaticlay access these credentials and configurations.
put in ~/.aws/credentials file
[default]
region = “your_region”
*put in* **~/.aws/configuration** *file*
```java
[default]
aws_access_key_id = “your access key id”
aws_secret_access_key = “your secret key”
Update your DependencyFactory.java file
package org.example;
import java.net.URI;
import software.amazon.awssdk.auth.credentials.*;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sqs.SqsClient;
public class DependencyFactory {
private DependencyFactory() {}
public static SqsClient sqsClient() {
AwsCredentialsProvider credentialsProvider = DefaultCredentialsProvider.builder().build();
Region region = Region.of(new DefaultAwsRegionProviderChain().getRegion());
URI endpointUri = URI.create("e2e_eqs_access_url");
SqsClient eqs_client = SqsClient.builder()
.credentialsProvider(credentialsProvider)
.endpointOverride(endpointUri)
.region(region)
.build();
return eqs_client;
}
c) you can make the connection with the EQS client by passing the credentials and configuration into the environment variables file.
using terminal (Linux, OS X or Unix)
$ export AWS_ACCESS_KEY_ID = your_access_key_id
$ export AWS_SECRET_ACCESS_KEY = your_secret_key
$ export AWS_DEFAULT_REGION = your_eqs_region
*using terminal* **(Windows)**
```java
> set AWS_ACCESS_KEY_ID = your_access_key_id
> set AWS_SECRET_ACCESS_KEY = your_secret_key
> set AWS_DEFAULT_REGION = your_eqs_region
or, edit your enviourment valiable file
AWS_ACCESS_KEY_ID = your_access_key_id
AWS_SECRET_ACCESS_KEY = your_secret_access_key
AWS_DEFAULT_REGION = your_eqs_region
pom.xml file
<dependency>
<groupId>io.github.cdimascio</groupId>
<artifactId>dotenv-java</artifactId>
<version>2.2.0</version>
</dependency>
update your DependencyFactory.java
import io.github.cdimascio.dotenv.Dotenv;
import software.amazon.awssdk.auth.credentials.*;
import software.amazon.awssdk.regions.*;
import software.amazon.awssdk.services.sqs.*;
public class DependencyFactory {
public static SqsClient sqsClient() {
Dotenv dotenv = Dotenv.load();
AwsCredentials credentials = AwsBasicCredentials.create(
dotenv.get("AWS_ACCESS_KEY_ID"),
dotenv.get("AWS_SECRET_ACCESS_KEY")
);
Region region = Region.of(dotenv.get("AWS_REGION"));
URI endpointUri = URI.create("e2e_eqs_access_url");
SqsClient eqs_client = SqsClient.builder()
.credentialsProvider(StaticCredentialsProvider.create(credentials))
.endpointOverride(endpointUri)
.region(region)
.build();
return eqs_client;
}
}
Methods available in eqs_client
necessary imports
import com.amazonaws.services.sqs.*;
import com.amazonaws.services.sqs.model.*;
Change VisibilityTimeout
Request Syntax
your .java file
String queueUrl = "queue_url";
ChangeMessageVisibilityRequest request = ChangeMessageVisibilityRequest.builder()
.queueUrl(queueUrl)
.receiptHandle("example-receipt-handle")
.visibilityTimeout(60)
.build();
eqs_client.changeMessageVisibility(request);
System.out.println("Message visibility timeout changed successfully!");
Parameters
QueueUrl (string)- [Required]
The URL of the E2E EQS queue whose message's visibility is changed.
ReceiptHandle (string) - [Required]
The receipt handle is associated with the message whose visibility timeout is changed. This parameter is returned by the ReceiveMessage action
VisibilityTimeout (integer) - [Required] The new value for the message's visibility timeout (in seconds)
Response Syntax
void
Change VisibilityTimeout in batch
Request Syntax
edit your .java file
final String queueUrl = "your_queue_url_here";
ChangeMessageVisibilityBatchRequest request = new ChangeMessageVisibilityBatchRequest()
.withQueueUrl(queueUrl)
.withEntries(
new ChangeMessageVisibilityBatchRequestEntry()
.withId("message_1")
.withReceiptHandle("receipt_handle_1")
.withVisibilityTimeout(3600),
new ChangeMessageVisibilityBatchRequestEntry()
.withId("message_2")
.withReceiptHandle("receipt_handle_2")
.withVisibilityTimeout(600)
);
ChangeMessageVisibilityBatchResponse response = eqs_client.changeMessageVisibilityBatch(request);
Parameters
QueueUrl (string) - [Required]
The URL of the E2E EQS queue whose message's visibility is changed.
Entries (ArrayList/LinkList) - [Required] (objects)
id [Required]-(string) An identifier for this particular receipt handle used to communicate the result
ReceiptHandle [Required] -(string) A receipt handle
VisibilityTimeout - (integer) The new value (in seconds) for the message’s visibility timeout
Response Syntax
ChangeMessageVisibilityBatchResult {
Successful: [
ChangeMessageVisibilityBatchResultEntry {
Id: "message_1",
SenderFault: false
}
],
Failed: [
ChangeMessageVisibilityBatchResultEntry {
Id: "message_2",
SenderFault: true,
Code: "InvalidParameterValue",
Message: "message"
}
]
}
Close connection
Request Syntax
edit your .java file
eqs_client.close()
Response Syntax
None
Create queue
Request Syntax
edit your .java file
CreateQueueRequest request = new CreateQueueRequest()
.withQueueName("string")
.withAttributes(Map.of(
"DelaySeconds", "123",
"MaximumMessageSize", "456",
"MessageRetentionPeriod", "789",
"ReceiveMessageWaitTimeSeconds", "10",
"VisibilityTimeout", "30"
))
.withTags(Map.of(
"tag1", "value1",
"tag2", "value2"
));
CreateQueueResponse response = eqs_client.createQueue(request);
String queueUrl = response.getQueueUrl();
Parameters
QueueName (string)- [Required] 1 - A queue name can have up to 80 characters
2 - Valid values: alphanumeric characters, hyphens ( -), and underscores ( _).
Attributes (Map/HashMap)- Attributes could be
1 - DelaySeconds - Time(second), to which extent delivery of messages is delayed in the queue
Valid values - 0 to 900 (second)
default - 0 (second)
2 - MaximumMessageSize - The size of the message after which the queue will reject the message
Valid values - 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB)
default - 262,144 bytes(256 KiB)
3 - MessageRetentionPeriod - Time to which extent a queue will retain a message
Valid values - 60 seconds (1 minute) to 1,209,600 seconds (14 days)
default - 345,600 (4 days)
4 - ReceiveMessageWaitTimeSeconds - Time to which extent ReceiveMessage action waits before receiving a message
Valid values - 0 to 20 (seconds)
default - 0 (second)
5 - VisibilityTimeout - The amount of time that a message in a queue is invisible to other consumers after a consumer retrieves it.
Valid values - 0 to 43,200 seconds (12 hours)
default - 30 second
tags (Map/HashMap) -
1 - Adding more than 50 tags to a queue isn't recommended.
2 - A new tag with a key identical to that of an existing tag overwrites the existing tag.
Response Syntax
{ "QueueUrl": "string" }
Delete message
Request Syntax
edit your .java file
DeleteMessageRequest request = new DeleteMessageRequest()
.withQueueUrl("string")
.withReceiptHandle("string");
eqs_client.deleteMessage(request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue from which messages are deleted.
ReceiptHandle (string) - [Required] The receipt handle is associated with the message to delete.
Response Syntax
void
Delete message in batch
Request Syntax
edit your .java file
DeleteMessageBatchRequest request = new DeleteMessageBatchRequest()
.withQueueUrl("string")
.withEntries(
new DeleteMessageBatchRequestEntry()
.withId("string")
.withReceiptHandle("string"),
new DeleteMessageBatchRequestEntry()
.withId("string")
.withReceiptHandle("string"),
);
DeleteMessageBatchResult result = eqs_client.deleteMessageBatch(request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue from which messages are deleted.
Entries (ArrayList/LinkList) - [Required] (objects) id [Required]-(string) An identifier for this particular receipt handle used to communicate the result ReceiptHandle [Required] -(string) A receipt handle
Response Syntax
public class DeleteMessageBatchResult {
private List<DeleteMessageBatchResultEntry> successful;
private List<BatchResultErrorEntry> failed;
}
public class DeleteMessageBatchResultEntry {
private String id;
}
public class BatchResultErrorEntry {
private String id;
private boolean senderFault;
private String code;
private String message;
}
Delete queue
Request Syntax
String queueUrl = "your_queue_url_here";
DeleteQueueRequest request = new DeleteQueueRequest(queueUrl);
eqs_client.deleteQueue(request);
Parameters
QueueUrl (string) - [Required]
The URL of the E2E EQS queue to delete.
Response Syntax
void
Get queue attributes
Request Syntax
edit your .java file
GetQueueAttributesRequest request = new GetQueueAttributesRequest()
.withQueueUrl("queue_url")
.withAttributeNames("All");
GetQueueAttributesResult result = sqsClient.getQueueAttributes(request);
Map<String, String> attributes = result.getAttributes();
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue from which attributes are get.
AttributeNames (ArrayList/LinkList) - [Optional] A list of attributes for which to retrieve information
All - it specifies, returns all values
you can also specify specific attributes in the list
As - ('VisibilityTimeout' , 'MaximumMessageSize' , 'MessageRetentionPeriod' , 'ApproximateNumberOfMessages' ,'ApproximateNumberOfMessagesNotVisible' , 'CreatedTimestamp' , 'LastModifiedTimestamp' , 'QueueArn' , 'ApproximateNumberOfMessagesDelayed' , 'DelaySeconds' , 'ReceiveMessageWaitTimeSeconds')
Response Syntax
GetQueueAttributesResult{attributes={
VisibilityTimeout=30,
MaximumMessageSize=262144,
MessageRetentionPeriod=345600,
ApproximateNumberOfMessages=0,
ApproximateNumberOfMessagesNotVisible=0,
CreatedTimestamp=Tue Apr 27 05:00:00 UTC 2021,
LastModifiedTimestamp=Tue Apr 27 05:00:00 UTC 2021,
}}
Get queue url
Request Syntax
edit your .java file
GetQueueUrlResult result = eqs_client.getQueueUrl(GetQueueUrlRequest.builder().queueName(queue_name).build());
String queueUrl = result.queueUrl();
Parameters
QueueName (string) -[Required] The name of the queue whose URL must be fetched.
Response Syntax
{'QueueUrl': 'string'}
List queue tags
Request Syntax
edit your .java file
SqsClient sqsClient = SqsClient.create();
String queueUrl = "YOUR_QUEUE_URL";
ListQueueTagsRequest Request = ListQueueTagsRequest.builder()
.queueUrl(queueUrl)
.build();
ListQueueTagsResponse Response = sqsClient.listQueueTags(Request);
//..
System.out.println("Queue Tags: " + Response.tags());
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue of which all the tags must be listed.
Response Syntax
{
"Tags": {
"TagKey1": "TagValue1",
"TagKey2": "TagValue2",
}
}
List queues
Request Syntax
edit your .java file
ListQueuesRequest Request = ListQueuesRequest.builder()
.queueNamePrefix("YOUR_QUEUE_NAME_PREFIX")
.maxResults(10)
.build();
ListQueuesResponse Response = sqsClient.listQueues(Request);
System.out.println("Queue URLs: " + Response.queueUrls());
**Parameters**
**QueueNamePrefix** (string) - [Optional]
A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.
**MaxResults** (integer) - [Optional]
The maximum number of results to include in the response.
Valid values - 1 to 1000
**Response Syntax**
```java
{
"QueueUrls": ["string", ],
}
Purge queue
delete all the messages from queue.
Request Syntax
edit your .java file
String queueUrl = "queue_url";
PurgeQueueRequest purgeRequest = new PurgeQueueRequest(queueUrl);
PurgeQueueResult purgeResult = eqs_client.purgeQueue(purgeRequest);
System.out.println("Messages purged from queue " + queueUrl + ".");
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue of which all the messages must be deleted.
Response Syntax
void
Receive message
Request Syntax
edit your .java file
String queueUrl = "your_queue_url_here";
ReceiveMessageRequest Request = new ReceiveMessageRequest(queueUrl)
.withAttributeNames("All") // can specify specific attributes as well
.withMessageAttributeNames("your_message_attribute_name_here")
.withMaxNumberOfMessages(2)
.withVisibilityTimeout(25)
.withWaitTimeSeconds(10)
.withReceiveRequestAttemptId("your_receive_request_attempt_id_here");
ReceiveMessageResult Result = eqs_client.receiveMessage(Request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue from which messages are received.
AttributeNames (ArrayList/LinkList) - A list of attributes that need to be returned along with each message.
All - it specifies, returns all values
you can also specify specific attributes in the list
As - ('VisibilityTimeout' , 'MaximumMessageSize' , 'MessageRetentionPeriod' , 'ApproximateNumberOfMessages' ,'ApproximateNumberOfMessagesNotVisible' , 'CreatedTimestamp' , 'LastModifiedTimestamp' , 'QueueArn' , 'ApproximateNumberOfMessagesDelayed' , 'DelaySeconds' , 'ReceiveMessageWaitTimeSeconds')
MessageAttributeNames (ArrayList/LinkList) - The name of the message attribute.
MaxNumberOfMessages (integer) - The maximum number of messages to return.
Valid range - 1 to 10
default - 1
VisibilityTimeout (integer) - The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.
WaitTimeSeconds (integer) - The duration (in seconds) for which the call waits for a message to arrive in the queue before returning.
Response Syntax
{
"Messages": [
{
"MessageId": "message_id",
"ReceiptHandle": "receipt_handle",
"MD5OfBody": "message_body_hash",
"Body": "message_body",
"Attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "send_time_stamp",
"SenderId": "sender_id",
"ApproximateFirstReceiveTimestamp": "approx_first_receive_time_stamp"
},
"MD5OfMessageAttributes": "message_attributes_hash",
"MessageAttributes": {
"MyAttribute": {
"StringValue": "string_value",
"DataType": "String"
}
}
},
]
}
Send Message
Request Syntax
edit your .java file
String queueUrl = "QUEUE_URL";
String messageBody = "MESSAGE_BODY";
int delaySeconds = 0; // optional
SendMessageRequest request = new SendMessageRequest()
.withQueueUrl(queueUrl)
.withMessageBody(messageBody)
.withDelaySeconds(delaySeconds);
// Optional message attributes
Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("Attribute1", new MessageAttributeValue()
.withDataType("String")
.withStringValue("Value1"));
messageAttributes.put("Attribute2", new MessageAttributeValue()
.withDataType("Number")
.withStringValue("123"));
request.setMessageAttributes(messageAttributes);
// Optional message system attributes
Map<String, MessageSystemAttributeValue> messageSystemAttributes = new HashMap<>();
messageSystemAttributes.put("SystemAttribute1", new MessageSystemAttributeValue()
.withDataType("String")
.withStringValue("Value1"));
messageSystemAttributes.put("SystemAttribute2", new MessageSystemAttributeValue()
.withDataType("Number")
.withStringValue("123"));
request.setMessageSystemAttributes(messageSystemAttributes);
SendMessageResult result = eqs_client.sendMessage(request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue to which messages are send.
MessageBody (string) - [Required] The message to send. The minimum size is one character. The maximum size is 256 KB.
DelaySeconds (integer) - The length of time, in seconds, for which to delay a specific message.
MessageAttributes (Map/HashMap) - Each message attribute consists of a Name, Type, and Value .
Name, type, value and the message body must not be empty or null .
(string) - name of the message attributes
(Map/HashMap) - Value of message attributes
1 - StringValue (string) - Strings are Unicode with UTF-8 binary encoding.
2 - BinaryValue (bytes) - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.
(string) - [Required] Type of message attributes
EQS support the following data type
Binary, Number, String
MessageSystemAttributes (Map/HashMap) - Each message system attribute consists of a Name, Type, and Value.
The name, type, value and message body must not be empty or null.
(string) - the name of the message attributes
(Map/HashMap) - Value of message attributes
1 - StringValue (string) - Strings are Unicode with UTF-8 binary encoding.
2 - BinaryValue (bytes) - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.
(string) - Type of message attributes
EQS support the following data type
Binary , Number , String
Response Syntax
{
MessageId: string
MD5OfMessageBody: string
MD5OfMessageAttributes: string
MD5OfMessageSystemAttributes: string
SequenceNumber: string
}
string reprasent actual value return by the method
Send message in batch
Request Syntax
edit your .java file
SendMessageBatchRequest Request = new SendMessageBatchRequest()
.withQueueUrl("string")
.withEntries(new SendMessageBatchRequestEntry()
.withId("string")
.withMessageBody("string")
.withDelaySeconds(123)
.withMessageAttributes(Collections.singletonMap(
"string",
new MessageAttributeValue()
.withDataType("string")
.withStringValue("string")
.withBinaryValue(ByteBuffer.wrap(new byte[]{}))
))
.withMessageSystemAttributes(Collections.singletonMap(
"string",
new MessageSystemAttributeValue()
.withDataType("string")
.withStringValue("string")
.withBinaryValue(ByteBuffer.wrap(new byte[]{}))
)),
new SendMessageBatchRequestEntry()
.withId("string")
.withMessageBody("string")
.withDelaySeconds(100)
.withMessageAttributes(Collections.singletonMap(
"string",
new MessageAttributeValue()
.withDataType("string")
.withStringValue("string")
.withBinaryValue(ByteBuffer.wrap(new byte[]{}))
))
.withMessageSystemAttributes(Collections.singletonMap(
"string",
new MessageSystemAttributeValue()
.withDataType("string")
.withStringValue("string")
.withBinaryValue(ByteBuffer.wrap(new byte[]{}))
)),
);
SendMessageBatchResult result = eqs_client.sendMessageBatch(Request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue to which messages are sent.
Entries (ArrayList/LinkList) - [Required] A list of SendMessageBatchRequestEntry items.
(Map/HashMap) -
Contains the details of a single E2E EQS message along with an Id.
Id (string) - [REQUIRED] An identifier for a message in this batch is used to communicate the result.
MessageBody (string) - [Required] The message to send. The minimum size is one character. The maximum size is 256 KB.
DelaySeconds (integer) - The length of time, in seconds, for which to delay a specific message.
MessageAttributes (map) - Each message attribute consists of a Name, Type, and Value.
The Name, type, value and message body must not be empty or null.
(string) - The name of the message attributes
(map) - Value of message attributes
1 - StringValue (string) - Strings are Unicode with UTF-8 binary encoding.
2 - BinaryValue (bytes) - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.
(string) -[Required] Type of message attributes
EQS support the following data type
Binary, Number, String
MessageSystemAttributes (Map/HashMap) - Each message system attribute consists of a Name, Type, and Value.
Name, type, value and the message body must not be empty or null.
(string) - The name of the message attributes
(Map/HashMap) - Value of message attributes
1 - StringValue (string) - Strings are Unicode with UTF-8 binary encoding.
2 - BinaryValue (bytes) - Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.
(string) - Type of message attributes
EQS support following data type
Binary , Number , String
Response Syntax
public class SendMessageBatchResult {
private List<SendMessageBatchResultEntry> successful;
private List<BatchResultErrorEntry> failed;
}
public class SendMessageBatchResultEntry {
private String id;
private String messageId;
private String mD5OfMessageBody;
private String mD5OfMessageAttributes;
private String mD5OfMessageSystemAttributes;
private String sequenceNumber;
}
public class BatchResultErrorEntry {
private String id;
private Boolean senderFault;
private String code;
private String message;
}
Set queue Attributes
Request Syntax
edit your .java file
String queueUrl = "your_queue_url";
Map<String, String> attributes = new HashMap<>();
attributes.put("AttributeName", "AttributeValue");
SetQueueAttributesRequest request = new SetQueueAttributesRequest()
.withQueueUrl(queueUrl)
.withAttributes(attributes);
SetQueueAttributesResult result = eqs_client.setQueueAttributes(request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue of which attributes should be set.
Attributes : [Required] A map of attributes to set.
Response Syntax
void
Tag Queue
Request Syntax
edit your .java file
String queueUrl = "QUEUE_URL";
Map<String, String> tags = new HashMap<>();
tags.put("tag1", "value1");
tags.put("tag2", "value2");
TagQueueRequest Request = new TagQueueRequest()
.withQueueUrl(queueUrl)
.withTags(tags);
TageQueueResult Result = eqs_client.tagQueue(Request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue.
Tags - [Required] The map of tags to be added to the specified queue.
Response Syntax
void
Untag queue
Request Syntax
edit your .java file
List<String> tagKeys = Arrays.asList("tag-key-1", "tag-key-2", "tag-key-3");
UntagQueueRequest Request = new UntagQueueRequest()
.withQueueUrl("queue-url")
.withTagKeys(tagKeys);
UntagqueueResult Result = sqsClient.untagQueue(Request);
Parameters
QueueUrl (string) - [Required] The URL of the E2E EQS queue.
TagKeys (ArrayList/LinkList) - [Required] The list of tags to be removed from the specified queue.
Response Syntax
void