Formatieren Sie die Golang-Zeit für das Azure SDK
php-Editor Xigua stellt Ihnen vor, wie Sie die Golang-Zeit des Azure SDK formatieren. Bei der Entwicklung mit dem Azure SDK kommt es häufig zu Situationen, in denen Formatierungszeit erforderlich ist. Golang bietet einige integrierte Zeitformatierungsmethoden, diese funktionieren jedoch möglicherweise nicht ordnungsgemäß im Azure SDK. Um dieses Problem zu lösen, müssen wir eine benutzerdefinierte Methode zum Formatieren der Uhrzeit verwenden. Schauen wir uns als Nächstes an, wie Sie mit Golang die Zeit im Azure SDK formatieren.
Frageninhalt
Bedenken Sie den folgenden Golang
today := time.Now().Format("2006-01-02T03:04:05.9999999Z") t, _ := time.Parse(time.RFC3339Nano, today)
Warum ist das nicht einfacher
t := time.Now()
?
Basierend auf meinen bisherigen Erfahrungen möchte ich bestätigen, ob der obige Code gleichwertig ist (ich denke, dass er es ist) oder warum er nicht gleichwertig ist. Ich habe auch einige weitere Hintergrundinformationen zu dem bereitgestellt, was ich versuche.
Mein vollständiger Repository-Code befindet sich in der main.go
-Datei auf GitHub. Für diese Frage konzentrieren wir uns jedoch auf den unten bereitgestellten Codeausschnitt.
sasToken, err := client.ListAccountSAS( ctx, resourceGroupName, storageAccountName, armstorage.AccountSasParameters{ KeyToSign: to.Ptr("key1"), SharedAccessExpiryTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, tomorrow); return t }()), Permissions: to.Ptr(armstorage.PermissionsR), Protocols: to.Ptr(armstorage.HTTPProtocolHTTPSHTTP), ResourceTypes: to.Ptr(armstorage.SignedResourceTypesS), Services: to.Ptr(armstorage.ServicesB), SharedAccessStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, today); return t }()), }, nil)
Derzeit funktioniert dieser Code wie erwartet. Wenn ich jedoch die letzte Zeile zu t := time.Now()
vereinfache, verursacht dies einen Fehler (wie im Run-Job von Github Actions gezeigt).
today 2023-09-18T07:54:42.6314723Z should be formatted as 2023-09-16T11:42:03.1567373Z tomorrow 2023-09-19T07:54:42.6314723Z should be formattes as 2023-09-17T11:42:03.1567373Z 2023/09/18 07:54:43 POST https://management.azure.com/subscriptions/***/resourceGroups/go-azure-sdk/providers/Microsoft.Storage/storageAccounts/golangazure/ListAccountSas -------------------------------------------------------------------------------- RESPONSE 400: 400 Bad Request ERROR CODE: InvalidValuesForRequestParameters -------------------------------------------------------------------------------- { "error": { "code": "InvalidValuesForRequestParameters", "message": "Values for request parameters are invalid: signedStart." } } -------------------------------------------------------------------------------- exit status 1
Das lässt mich fragen, warum die Gleichwertigkeit entgegen meiner ursprünglichen Erwartung nicht gilt.
Problemumgehung
Die API erwartet, dass die Zeiten auf Sekunden gerundet werden. Versuchen Sie also etwas wie Folgendes:
... SharedAccessExpiryTime: to.Ptr(expiryTime.Round(time.Second)), ... SharedAccessStartTime: to.Ptr(startTime.Round(time.Second)), ...
Das obige ist der detaillierte Inhalt vonFormatieren Sie die Golang-Zeit für das Azure SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Dieser Artikel erläutert die Paketimportmechanismen von Go: benannte Importe (z. B. importieren & quot; fmt & quot;) und leere Importe (z. B. Import _ & quot; fmt & quot;). Benannte Importe machen Paketinhalte zugänglich, während leere Importe nur T ausführen

In diesem Artikel werden die Newflash () -Funktion von BeEGO für die Übertragung zwischen PAGE in Webanwendungen erläutert. Es konzentriert sich auf die Verwendung von Newflash (), um temporäre Nachrichten (Erfolg, Fehler, Warnung) zwischen den Controllern anzuzeigen und den Sitzungsmechanismus zu nutzen. Limita

Dieser Artikel beschreibt die effiziente Konvertierung von MySQL -Abfrageergebnissen in GO -Strukturscheiben. Es wird unter Verwendung der SCAN -Methode von Datenbank/SQL zur optimalen Leistung hervorgehoben, wobei die manuelle Parsen vermieden wird. Best Practices für die Struktur -Feldzuordnung mithilfe von DB -Tags und Robus

In diesem Artikel werden die benutzerdefinierten Typ -Einschränkungen von GO für Generika untersucht. Es wird beschrieben, wie Schnittstellen die minimalen Typanforderungen für generische Funktionen definieren und die Sicherheitstypsicherheit und die Wiederverwendbarkeit von Code verbessern. Der Artikel erörtert auch Einschränkungen und Best Practices

Dieser Artikel zeigt, dass Mocks und Stubs in GO für Unit -Tests erstellen. Es betont die Verwendung von Schnittstellen, liefert Beispiele für Mock -Implementierungen und diskutiert Best Practices wie die Fokussierung von Mocks und die Verwendung von Assertion -Bibliotheken. Die Articl

Dieser Artikel beschreibt effizientes Dateischreiben in Go und vergleicht OS.WriteFile (geeignet für kleine Dateien) mit OS.openfile und gepufferter Schreibvorgänge (optimal für große Dateien). Es betont eine robuste Fehlerbehandlung, die Verwendung von Aufschub und Überprüfung auf bestimmte Fehler.

In dem Artikel werden Schreiben von Unit -Tests in GO erörtert, die Best Practices, Spottechniken und Tools für ein effizientes Testmanagement abdecken.

In diesem Artikel wird die Verwendung von Tracing -Tools zur Analyse von GO -Anwendungsausführungsfluss untersucht. Es werden manuelle und automatische Instrumentierungstechniken, den Vergleich von Tools wie Jaeger, Zipkin und Opentelemetrie erörtert und die effektive Datenvisualisierung hervorheben
